| | |
getgroups, setgroups - Lire/écrire la liste des groupes supplémentaires
d'un processus.
#include <sys/types.h>
#include <unistd.h>
int getgroups(int size, gid_t list[]);
#define _BSD_SOURCE
#include <grp.h>
int setgroups(size_t size, const gid_t *list);
- getgroups
- retourne une liste list contenant jusqu'a size groupes aditionnels. Si size
vaut zéro, list n'est pas modifiée, mais le nombre total de groupes supplémentaires
pour le processus est renvoyé.
- setgroups
- fixe des groupes supplémentaires
pour le processus. Seul le Super-User peut utiliser cette fonction.
- getgroups
- renvoie le nombre de groupes supplémentaires du processus
s'il reussit, ou -1 s'il échoue, auquel cas errno contient le code d'erreur.
- setgroups
- renvoie 0 s'il reussit, ou -1 s'il échoue, auquel cas errno contient
le code d'erreur.
- EFAULT
- list pointe en dehors de l'espace d'adressage
accessible.
- EPERM
- Pour setgroups, l'utilisateur n'est pas le Super-User.
- EINVAL
- Pour setgroups, size est plus grand que NGROUPS (32 avec Linux 2.0.32). Pour
getgroups, size est inférieur au nombre de groupes supplémentaires, et
n'est pas nul.
SVr4, SVID (version 4 uniquement), X/OPEN, 4.3BSD.
getgroups est conforme a POSIX.1 (et présent dans BSD 4.3). Comme setgroups
nécessite des privilèges, il n'est pas couvert par POSIX.1.
La constante
symbolique _BSD_SOURCE ne devrait probablement pas être nécessaire pour
utiliser setgroups.
initgroups(3)
, getgid(2)
, setgid(2)
Christophe
Blaess, 1997.
Table des matières
© 1996-2000 Adaptation française "Christophe Blaess"
| |