dwww Home | Manual pages | Find package

seteuid(2)                    System Calls Manual                   seteuid(2)

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

BIBLIOTHÈQUE
       Bibliothèque C standard (libc, -lc)

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 va-
       leur 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  raison-
       nant 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  pri-
              vilé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  pri-
              vilégié  (ne  possède pas la capacité CAP_SETGID dans son espace
              de noms utilisateur) et egid ne correspond ni au  GID  réel  ac-
              tuel,  ni au GID effectif du groupe réel actuel, ni au GID sauvé
              actuel du processus appelant .

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

NOTES
       Définir l'UID (GID) effectif à la valeur de l'UID (GID) sauvé est  pos-
       sible  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 sui-
       vantes, 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 fonc-
       tion de l'architecture matérielle).

       D'après POSIX.1, seteuid() (resp. setegid()) n'a  pas  besoin  de  per-
       mettre  à  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), cre-
       dentials(7), user_namespaces(7)

TRADUCTION
       La  traduction française de cette page de manuel a été créée par Chris-
       tophe Blaess <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <ste-
       phan.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.cou-
       lon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>,  Thomas  Huriaux
       <thomas.huriaux@gmail.com>,  Nicolas François <nicolas.francois@centra-
       liens.net>, Florentin Duneau <fduneau@gmail.com>, Simon  Paillard  <si-
       mon.paillard@resel.enst-bretagne.fr>,    Denis   Barbier   <barbier@de-
       bian.org>, David Prévot  <david@tilapin.org>,  Cédric  Boutillier  <ce-
       dric.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⟩.

Pages du manuel de Linux 6.03   5 février 2023                      seteuid(2)

Generated by dwww version 1.15 on Sat Jun 29 01:50:37 CEST 2024.