Provided by: manpages-fr-dev_4.15.0-9_all bug

NOM

       setgid - Définir l'identifiant de groupe

SYNOPSIS

       #include <unistd.h>

       int setgid(gid_t gid);

DESCRIPTION

       setgid() définit le GID effectif du processus appelant. Si l'appelant est privilégié (plus
       précisément, s'il a la capacité CAP_SETGID dans son espace de noms), les GID réel et sauvé
       sont également définis.

       Sous  Linux setgid() est implémenté comme la version POSIX avec l'option _POSIX_SAVED_IDS.
       Cela permet à un programme Set-GID (autre que root) d'abandonner tous  ses  privilèges  de
       groupe,  d'effectuer  des  tâches  non  privilégiées,  et de retrouver son GID effectif de
       manière sécurisée.

VALEUR RENVOYÉE

       En cas de succès, zéro est renvoyé. En cas d'erreur, -1 est renvoyé et errno  est  définie
       pour préciser l'erreur.

ERREURS

       EINVAL L'identifiant  de groupe indiqué dans gid n'est pas valable dans cet espace de noms
              utilisateur.

       EPERM  Le processus appelant n'est pas privilégié (ne possède pas la  capacité  CAP_SETGID
              dans  son  espace  de noms) et gid ne correspond ni au GID réel, ni au GID sauvé du
              processus appelant.

CONFORMITÉ

       POSIX.1-2001, POSIX.1-2008, SVr4.

NOTES

       L'appel système setgid() originel de Linux ne gérait que des identifiants  de  groupe  sur
       16 bits.   En  conséquence,  Linux 2.4  a  ajouté  setgid32()  qui  prend  en  charge  des
       identifiants 32 bits. La fonction setgid() de la glibc qui  l'encapsule  gère  de  manière
       transparente ces différences entre noyaux.

   différences entre bibliothèque C et noyau
       Au niveau du noyau, les identifiants utilisateur et de groupe représentent un attribut par
       thread. Cependant, POSIX exige que tous les threads d'un  processus  partagent  les  mêmes
       droits.  L'implémentation  de  thread  de  NPTL  gère  les  exigences de POSIX à l'aide de
       fonctions enveloppes autour des appels système  qui  modifient  les  UID  et  les  GID  du
       processus.  Ces  fonctions  enveloppe  (notamment  celle autour de setgid()) utilisent une
       technique fondée sur le signal pour s'assurer que lorsqu'un  thread  modifie  les  droits,
       tous  les autres threads du processus changent leurs autorisations. Pour des détails, voir
       nptl(7).

VOIR AUSSI

       getgid(2), setegid(2), setregid(2), capabilities(7), credentials(7), user_namespaces(7)

COLOPHON

       Cette page fait partie de la publication 5.13 du projet man-pages Linux.  Une  description
       du  projet et des instructions pour signaler des anomalies et la dernière version de cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier   <barbier@debian.org>,   David   Prévot  <david@tilapin.org>,  Cédric  Boutillier
       <cedric.boutillier@gmail.com>, Frédéric Hantrais  <fhantrais@gmail.com>  et  Jean-Philippe
       MENGUAL <jpmengual@debian.org>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General
       Public  License  version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   concernant   les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.