SETGID

Section: Manuel du programmeur Linux (2)
Updated: 4 Juin 2001
Index Retour au Menu Principal

 

NOM

setgid - Fixer l'ID de groupe.  

SYNOPSIS

#include <sys/types.h>
#include <unistd.h>

int setgid(gid_t gid);  

DESCRIPTION

setgid fixe le GID effectif du processus en cours. Si l'appelant est le Super-User, les GID réels et sauvés sont également fixés.

Sous Linux setgid est implémenté comme la version POSIX avec l'option _POSIX_SAVED_IDS. Ceci permet à un programme Set-GID (autre que root) d'abandonner tous ses privilèges de groupe, d'effectuer des tâches non-privilégiées, et de retrouver son GID effectif de manière sécurisée.

Si l'utilisateur est le Super-User, ou si le programme est Set-GID root, des précautions particulières doivent être prises. La fonction setgid vérifie le GID effectif de l'appelant et si c'est le Super-User, tous les GID du processus sont mis à gid. une fois ceci effectué, il est impossible au programme de retrouver ses privilèges de Super-User.

Ainsi un programme Set-GID root désireux d'abandonner temporairement ses privilèges, en prenant l'identité d'un programme de groupe non-root, puis de récupérer ses privilèges par la suite ne doit pas utiliser setgid. On peut accomplir ceci en utilisant l'appel (non-POSIX, BSD) setegid.  

VALEUR RENVOYÉE

setgid renvoie 0 s'il réussit, ou -1 s'il échoue, auquel cas errno contient le code d'erreur.  

ERREURS

EPERM
L'utilisateur n'est pas Super-User et gid ne correspond ni au GID effectif, ni au GID sauvé du processus.
 

CONFORMITÉ

SVr4, SVID.  

VOIR AUSSI

getgid(2), setregid(2), setegid(2)

 

TRADUCTION

Christophe Blaess, 1997.



 

Index

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
VOIR AUSSI
TRADUCTION


Time: 21:43:54 GMT, December 19, 2004