SETGID(2)          Manuel du programmeur Linux          SETGID(2)


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  pro­
       gramme  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 pro­
       cessus 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 tem­
       porairement  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  cor­
               respond  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.




Linux                      8 Avril 1997                         1