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

NOM

       seteuid, setegid - Définir les UID et GID effectifs

SYNOPSIS

       #include <unistd.h>

       int seteuid(uid_t euid);
       int setegid(gid_t egid);

   Exigences    de    macros    de   test   de   fonctionnalités   pour   la   glibc   (consulter
   feature_test_macros(7)) :

       seteuid(), setegid() :
           _POSIX_C_SOURCE >= 200112L
               || /* Versions de la glibc <= 2.19 : */ _BSD_SOURCE

DESCRIPTION

       seteuid() définit l'UID effectif du processus  appelant.  Les  processus  non  privilégiés
       peuvent  uniquement  définir  leur  UID effectif à la valeur de leur UID réel, de leur UID
       effectif ou de leur UID sauvé.

       Cela fonctionne exactement de la même façon avec  setegid()  en  raisonnant  en  terme  de
       groupe (GID) au lieu d'utilisateur (UID).

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.

       Note : dans certains cas, seteuid() peut échouer alors même que l'UID  de  l'appelant  est
       0 ;  ne pas vérifier la valeur renvoyée par seteuid() pour détecter un échec est une grave
       erreur qui compromet la sécurité du système.

ERREURS

       EINVAL L'identifiant utilisateur ou groupe cible n'est pas autorisé  dans  cet  espace  de
              noms utilisateur.

       EPERM  Dans  le  cas de seteuid() : le processus appelant n'est pas privilégié (ne possède
              pas la capacité CAP_SETUID  dans  son  espace  de  noms  utilisateur)  et  euid  ne
              correspond  ni à l'UID réel, ni à l'UID effectif de l'utilisateur réel actuel, ni à
              l'UID sauvé du processus appelant.

              Dans le cas de setegid() : le processus appelant n'est pas privilégié  (ne  possède
              pas  la  capacité  CAP_SETGID  dans  son  espace  de  noms  utilisateur) et egid ne
              correspond ni au GID réel actuel, ni au GID effectif du groupe réel actuel,  ni  au
              GID sauvé actuel du processus appelant .

CONFORMITÉ

       POSIX.1-2001, POSIX.1-2008, 4.3BSD.

NOTES

       Définir  l'UID  (GID)  effectif  à  la  valeur  de  l'UID  (GID) sauvé est possible depuis
       Linux 1.1.37 (1.1.38). Sur un système UNIX inconnu, il faut vérifier  la  présence  de  la
       constante _POSIX_SAVED_IDS.

       Dans  la  glibc  2.0,  seteuid(euid)  est  équivalent  à  setreuid(-1, euid) et peut ainsi
       modifier l'UID sauvé. Dans la glibc 2.1 et les  versions  suivantes,  c'est  équivalent  à
       setresuid(-1, euid, -1)  et  ne  modifie  donc  pas  l'UID sauvé. Les mêmes remarques sont
       valables  pour  setegid(),  à  la  différence  que  le  changement   d'implémentation   de
       setregid(-1, egid)  à  setresgid(-1, egid, -1)  est  apparu  dans  la glibc 2.2 ou 2.3 (en
       fonction de l'architecture matérielle).

       D'après POSIX.1, seteuid() (resp. setegid()) n'a pas besoin de  permettre  à  euid  (resp.
       egid)  d'avoir  la même valeur que l'identifiant d'utilisateur (resp. de groupe) effectif,
       et certaines implémentations ne le permettent effectivement pas.

   différences entre bibliothèque C et noyau
       Sous Linux, seteuid() et setegid() sont  des  fonctions  de  bibliothèques  qui  appellent
       respectivement setreuid(2) et setregid(2).

VOIR AUSSI

       geteuid(2),   setresuid(2),   setreuid(2),   setuid(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⟩.