Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       setreuid, setregid - Définir les UID et GID effectifs et/ou réels

SYNOPSIS

       #include <sys/types.h>
       #include <unistd.h>

       int setreuid(uid_t ruid, uid_t euid);
       int setregid(gid_t rgid, gid_t egid);

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

       setreuid(), setregid() :
           _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

DESCRIPTION

       setreuid() définit les ID d'utilisateur effectif et réel du processus appelant.

       Fournir une valeur -1 pour l'un des arguments demande au système de ne pas  modifier  l'ID
       correspondant

       Les  processus  non privilégiés peuvent seulement définir leur UID effectif à la valeur de
       l'UID réel, de l'UID effectif ou de l'UID sauvé.

       Les utilisateurs non privilégiés peuvent seulement définir l'UID réel à la valeur de l'UID
       réel ou de l'UID effectif.

       Si  l'UID réel est changé (c'est-à-dire si ruid est différent de -1), ou si l'UID effectif
       a avec une valeur différente de  l'UID  réel  précédent,  le  set-uid  sauvegardé  prendra
       également la valeur du nouvel UID effectif.

       De  manière analogue, setregid() définit les ID de groupe du processus appelant, et toutes
       les remarques précédentes s'appliquent, en remplaçant GID par UID.

VALEUR RENVOYÉE

       S'il réussit, cet appel système renvoie 0. S'il échoue, il renvoie -1 et remplit errno  en
       conséquence.

ERREURS

       EPERM  Le  processus  appelant  n'est  pas  privilégié  (sous  Linux : n'a pas la capacité
              CAP_SETUID dans le cas de setreuid(), ou la capacité  CAP_SETGID  dans  le  cas  de
              setregid()),  des modifications ont été demandées autres que (i) l'échange de l'UID
              (resp. GID) effectif avec l'UID (GID) réel, (ii) la copie d'un UID  (GID)  dans  un
              autre,  ou  (iii)  le  remplissage  de l'UID (GID) effectif avec la valeur de l'UID
              (GID) sauvé.

CONFORMITÉ

       POSIX.1-2001, BSD 4.3 (les fonctions setreuid() et setregid() sont apparues dans BSD 4.2).

NOTES

       Définir l'UID (GID) effectif avec la valeur de l'UID (GID) sauvé est possible depuis Linux
       1.1.37 (1.1.38).

       POSIX.1  ne  donne  pas  tous les changements d'identifiants qui sont autorisés sous Linux
       pour un processus non privilégié. Pour setreuid(),  l'identifiant  d'utilisateur  effectif
       peut   être   celui   de  l'identifiant  d'utilisateur  réel  ou  celui  de  l'identifiant
       d'utilisateur sauvé. Il n'est pas indiqué si des processus non privilégiés peuvent changer
       l'identifiant  d'utilisateur  réel  en  l'identifiant  d'utilisateur  effectif ou en celui
       sauvé. Pour setregid(), l'identifiant de groupe réel peut être  changé  en  la  valeur  de
       l'identifiant  de groupe sauvé, et l'identifiant de groupe effectif peut être changé en la
       valeur de l'identifiant de groupe réel ou de celui  sauvé.  Les  détails  précis  sur  les
       changements d'identifiants autorisés varient en fonction de l'implémentation.

       POSIX.1 ne dit rien de l'effet de ces appels sur les set-user-ID et set-group-ID sauvés.

       Les  appels  système  setreuid()  et  setregid()  originaux  de  Linux ne géraient que des
       identifiants d'utilisateur et de groupe sur 16 bits. En conséquence,  Linux 2.4  a  ajouté
       setreuid32()  et  setregid32()  qui  prennent  en  charge  des  identifiants  32 bits. Les
       fonctions setreuid() et setregid() de la glibc  qui  les  encapsulent  gèrent  de  manière
       transparente ces différences entre noyaux.

VOIR AUSSI

       getgid(2), getuid(2), seteuid(2), setgid(2), setresuid(2), setuid(2), capabilities(7)

COLOPHON

       Cette  page  fait partie de la publication 3.65 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

       Depuis    2010,    cette   traduction   est   maintenue   à   l'aide   de   l'outil   po4a
       <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du  projet
       perkamon <http://perkamon.alioth.debian.org/>.

       Christophe    Blaess    <http://www.blaess.fr/christophe/>   (1996-2003),   Alain   Portal
       <http://manpagesfr.free.fr/>  (2003-2006).  Julien  Cristau  et  l'équipe  francophone  de
       traduction de Debian (2006-2009).

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