Provided by:
manpages-fr-dev_3.32d0.2p4-1_all 
NOM
setuid - Fixer l'ID de l'utilisateur
SYNOPSIS
#include <sys/types.h>
#include <unistd.h>
int setuid(uid_t uid);
DESCRIPTION
setuid() fixe l'UID effectif du processus appelant. Si cet UID effectif
est celui du superutilisateur, les UID reels et sauves sont egalement
fixes.
Sous Linux setuid() est implemente comme le specifie POSIX, avec
l'option _POSIX_SAVED_IDS. Ceci permet a un programme Set-UID (autre
que root) d'abandonner tous ses privileges, d'effectuer des taches non
privilegiees, et de retrouver son UID effectif de maniere securisee.
Si l'utilisateur est le superutilisateur, ou si le programme est
Set-UID root, des precautions particulieres doivent etre prises. La
fonction setuid() verifie l'UID effectif de l'appelant et si c'est le
superutilisateur, tous les UID du processus sont mis a uid. Une fois
ceci effectue, il est impossible au programme de retrouver ses
privileges de superutilisateur.
Ainsi un programme Set-UID root desireux d'abandonner temporairement
ses privileges, en prenant l'identite d'un utilisateur ordinaire, puis
de recuperer ses privileges par la suite ne doit pas utiliser setuid().
On peut accomplir ceci en utilisant l'appel seteuid(2).
VALEUR RENVOY'EE
S'il reussit, cet appel systeme renvoie 0. S'il echoue, il renvoie -1
et remplit errno en consequence.
ERREURS
EAGAIN uid ne correspond pas a l'UID courant et uid porterait le
processus au-dela de sa limite RLIMIT_NPROC.
EPERM L'utilisateur n'est pas privilegie (sous Linux : n'a pas la
capacite CAP_SETUID) et uid ne correspond ni a l'UID reel, ni au
set-uid sauve du processus.
CONFORMIT'E
SVr4, POSIX.1-2001. Pas tout a fait compatible avec l'appel systeme
BSD 4.4, qui positionne l'ensemble des ID reel, sauve et effectif.
NOTES
Linux dispose d'un concept d'UID de systeme de fichiers, qui est
normalement egal a l'UID effectif. L'appel setuid() fixe egalement
l'UID de systeme de fichiers du processus appelant. Consultez
setfsuid(2).
Si l'uid est different de l'ancien UID effectif, le processus ne pourra
pas laisser d'image memoire (core dump) sur le disque.
L'appel systeme setuid() original de Linux ne gerait que des
identifiants d'utilisateur sur 16 bits. En consequence, Linux 2.4 a
ajoute setuid32() qui prend en charge des identifiants 32 bits. La
fonction setuid() de la glibc qui l'encapsule gere de maniere
transparente ces differences entre noyaux.
VOIR AUSSI
getuid(2), seteuid(2), setfsuid(2), setreuid(2), capabilities(7),
credentials(7)
COLOPHON
Cette page fait partie de la publication 3.32 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Julien
Cristau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.