seteuid(2) System Calls Manual seteuid(2) NOM seteuid, setegid - Definir les UID et GID effectifs BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include int seteuid(uid_t euid); int setegid(gid_t egid); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : seteuid(), setegid() : _POSIX_C_SOURCE >= 200112L || /* glibc <= 2.19: */ _BSD_SOURCE DESCRIPTION seteuid() definit l'UID effectif du processus appelant. Les processus non privilegies peuvent uniquement definir leur UID effectif a la valeur de leur UID reel, de leur UID effectif ou de leur UID sauve. Cela fonctionne exactement de la meme facon avec setegid() en raisonnant en terme de groupe (GID) au lieu d'utilisateur (UID). VALEUR RENVOYEE En cas de succes, zero est renvoye. En cas d'erreur, -1 est renvoye et errno est definie pour preciser l'erreur. Note : dans certains cas, seteuid() peut echouer alors meme que l'UID de l'appelant est 0 ; ne pas verifier la valeur renvoyee par seteuid() pour detecter un echec est une grave erreur qui compromet la securite du systeme. ERREURS EINVAL L'identifiant utilisateur ou groupe cible n'est pas autorise dans cet espace de noms utilisateur. EPERM Dans le cas de seteuid() : le processus appelant n'est pas privilegie (ne possede pas la capacite CAP_SETUID dans son espace de noms utilisateur) et euid ne correspond ni a l'UID reel, ni a l'UID effectif de l'utilisateur reel actuel, ni a l'UID sauve du processus appelant. Dans le cas de setegid() : le processus appelant n'est pas privilegie (ne possede pas la capacite CAP_SETGID dans son espace de noms utilisateur) et egid ne correspond ni au GID reel actuel, ni au GID effectif du groupe reel actuel, ni au GID sauve actuel du processus appelant . VERSIONS Definir l'UID (GID) effectif a la valeur de l'UID (GID) sauve est possible depuis Linux 1.1.37 (1.1.38). Sur un systeme UNIX inconnu, il faut verifier la presence de la constante _POSIX_SAVED_IDS. Dans la glibc 2.0, seteuid(euid) est equivalent a setreuid(-1, euid) et peut ainsi modifier l'UID sauve. Dans la glibc 2.1 et les versions suivantes, c'est equivalent a setresuid(-1, euid, -1) et ne modifie donc pas l'UID sauve. Les memes remarques sont valables pour setegid(), a la difference que le changement d'implementation de setregid(-1, egid) a setresgid(-1, egid, -1) est apparu dans la glibc 2.2 ou 2.3 (en fonction de l'architecture materielle). D'apres POSIX.1, seteuid() (resp. setegid()) n'a pas besoin de permettre a euid (resp. egid) d'avoir la meme valeur que l'identifiant d'utilisateur (resp. de groupe) effectif, et certaines implementations ne le permettent effectivement pas. Differences entre bibliotheque C et noyau Sous Linux, seteuid() et setegid() sont des fonctions de bibliotheques qui appellent respectivement setresuid(2) et setresgid(2). STANDARDS POSIX.1-2008. HISTORIQUE POSIX.1-2001, 4.3BSD. VOIR AUSSI geteuid(2), setresuid(2), setreuid(2), setuid(2), capabilities(7), credentials(7), user_namespaces(7) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Cedric Boutillier , Frederic Hantrais et Jean-Philippe MENGUAL Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 11 fevrier 2024 seteuid(2)