Votre IP: 38.107.179.244 
  
 
Google
 
Accueil e-mail Linux
Linux
Perl
Perl
C
Langage C
Dico
Dictionnaire
Biblio liens
Bibliothèque de liens
Index articles
Index articles
 

Date création : 27-03-2008 20:23:44

Linux  Vous êtes dans : GNU/Linux Astuces / Pages man [Section2 - Appels système]


SETUID

 

Index

  1. NOM
  2. SYNOPSIS
  3. DESCRIPTION
  4. VALEUR RENVOYÉE
  5. ERREURS
  6. CONFORMITÉ
  7. SPÉCIFICITÉS LINUX
  8. VOIR AUSSI
  9. TRADUCTION

 

NOMIndex

setuid - Fixer l'ID de l'utilisateur  

SYNOPSISIndex

#include <sys/types.h>
#include <unistd.h>
int setuid(uid_t uid);  

DESCRIPTIONIndex

setuid() fixe l'UID effectif du processus en cours. Si cet UID effectif est celui du superutilisateur, les UID réels et sauvés sont également fixés.
Sous Linux setuid() est implémenté comme le spécifie POSIX, avec l'option _POSIX_SAVED_IDS. Ceci permet à un programme Set-UID (autre que root) d'abandonner tous ses privilèges, d'effectuer des tâches non-privilégiées, et de retrouver son UID effectif de manière sécurisée.
Si l'utilisateur est le superutilisateur, ou si le programme est Set-UID root, des précautions particulières doivent être prises. La fonction setuid() vérifie l'UID effectif de l'appelant et si c'est le superutilisateur, tous les UID du processus sont mis à uid. Une fois ceci effectué, il est impossible au programme de retrouver ses privilèges de superutilisateur.
Ainsi un programme Set-UID root désireux d'abandonner temporairement ses privilèges, en prenant l'identité d'un utilisateur non-root, puis de récupérer ses privilèges par la suite ne doit pas utiliser setuid(). On peut accomplir ceci en utilisant l'appel (non-POSIX, BSD) seteuid().  

VALEUR RENVOYÉEIndex

En cas de réussite, zéro est renvoyé, sinon -1 est renvoyé et errno contient le code d'erreur.  

ERREURSIndex

EAGAIN
uid ne correspond pas à l'UID courant et uid porterait le processus au-delà de sa limite NPROC.
EPERM
L'utilisateur n'est pas privilégié (sous Linux : n'a pas la capacité CAP_SETUID) et uid ne correspond ni à l'UID réel, ni au set-uid sauvé du processus.
 

CONFORMITÉIndex

SVr4, POSIX.1-2001. Pas tout à fait compatible avec l'appel système BSD 4.4, qui positionne l'ensemble des IDs réel, sauvé et effectif.  

SPÉCIFICITÉS LINUXIndex

Linux dispose d'un concept d'UID de système de fichiers, qui est normalement égal à l'UID effectif. L'appel setuid() fixe également l'UID de système de fichiers du processus en cours. Voir setfsuid(2).
Si l'uid est différent de l'ancien UID effectif, le processus ne pourra pas laisser d'image mémoire (core dump) sur le disque.  

VOIR AUSSIIndex

getuid(2), seteuid(2), setfsuid(2), setreuid(2), capabilities(7)  

TRADUCTIONIndex

Cette page de manuel a été traduite et mise à jour par Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006.
La traduction de cette page de manuel est basée sur les traductions disponibles sur http://manpagesfr.free.fr/, mais est gérée par l'équipe francophone de traduction de Debian au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction 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> ».


Création : octobre 2007  © Tous droits réservés 2007 linux-perl-c
Valid HTML 4.01 TransitionalValid CSS