| setgid | |||
Nomsetgid - Fixer l'ID de groupe.Synopsis#include <unistd.h>int setgid(gid_t gid) Descriptionsetgid 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éesetgid renvoie 0 s'il réussit, ou -1 s'il échoue, auquel cas errno contient le code d'erreur.Erreurs
ConformitéSVr4, SVID.Voir Aussigetgid(2) , setregid(2) , setegid(2)
TraductionChristophe Blaess, 1997.
|