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