Loading

NOM

       seteuid, setegid - Fixer 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 (voir
   feature_test_macros(7)) :

       seteuid(), setegid() : _BSD_SOURCE || _POSIX_C_SOURCE >= 200112L ||
       _XOPEN_SOURCE >= 600

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

       Ceci   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 réussite, zéro est renvoyé, sinon -1  est  renvoyé  et  errno
       contient le code d’erreur.

ERREURS

       EPERM  Le processus appelant n’est pas privilégié (sous Linux : n’a pas
              la capacité CAP_SETUID dans le cas de seteuid(), ou la  capacité
              CAP_SETGID  dans  le  cas  de  setegid()),  et  l’argument  euid
              (respectivement egid) n’est pas l’UID (respectivement GID) réel,
              effectif ou sauvé.

CONFORMITÉ

       BSD 4.3, POSIX.1-2001.

NOTES

       Fixer  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.

       Sous  libc4,  libc5,  et  glibc  2.0,  seteuid(euid)  est  équivalent à
       setreuid(-1, euid) et modifie ainsi l’UID sauvé. Sous 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().

VOIR AUSSI

       geteuid(2),   setresuid(2),  setreuid(2),  setuid(2),  capabilities(7),
       credentials(7)

COLOPHON

       Cette page fait partie de  la  publication  3.23  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
       francophone de traduction de Debian.

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».