Index général des pages de man   Index Section man 2   Table des Matières de setgid   Imprime la page de man setgid en mode Texte   Recherche dans les pages de man   Page de man en français      Fonctions du système (section 2)

setgid

 
  

Nom

setgid - Fixer l'ID de groupe.

Synopsis

#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 egalement fixés.

Sous Linux setgid est implementé 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.


Table des matières


Haut de page

© 1996-2000 Adaptation française "Christophe Blaess"