Provided by: manpages-fr-dev_4.13-4_all bug

NOM

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

SYNOPSIS

       #include <sys/types.h>
       #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 reçoit une valeur adéquate.

       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.10 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 ⟨⟩.