GETGROUPS
Section: Manuel du programmeur Linux (2) Updated: 18 juillet 2003 Index
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
NOTES
CONFORMITÉ
VOIR AUSSI
TRADUCTION
NOM
getgroups, setgroups - Lire/écrire la liste des groupes supplémentaires d'un processus.
SYNOPSIS
#include <sys/types.h>
#include <unistd.h>
int getgroups(int size, gid_t list[]);
#include <grp.h>
int setgroups(size_t size, const gid_t *list);
DESCRIPTION
- getgroups
-
retourne une liste
list
contenant jusqu'à
size
ID de groupes additionnels.
Le groupe effectif du processus appelant peut être inclus ou non dans
la liste (ainsi une application devrait également appeler
getegid(2)
et ajouter ou supprimer la valeur résultante).
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 ID groupes supplémentaires pour le processus. Seul le Super-User peut
utiliser cette fonction.
VALEUR RENVOYÉE
- getgroups
-
renvoie le nombre d'ID de groupes supplémentaires du processus
s'il réussit, ou -1 s'il échoue, auquel cas
errno
contient le code d'erreur.
- setgroups
-
renvoie 0 s'il réussit, ou -1 s'il échoue, auquel cas
errno
contient le code d'erreur.
ERREURS
- 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 d'ID de groupes supplémentaires, et n'est pas nul.
NOTES
Un processus peut avoir jusqu'à NGROUPS_MAX ID de groupes supplémentaires
en plus de son ID de groupe effectif. Le jeu d'ID de groupes supplémentaires
est hérité du processus parent, et peut être modifié avec
setgroups.
Le nombre maximal d'ID de groupes supplémentaires peut être obtenus avec
sysconf(3):
long ngroups_max;
ngroups_max = sysconf(_SC_NGROUPS_MAX);
La valeur de retour maximale de
getgroups
ne peut pas être plus grande que 1 plus la valeur ainsi obtenue.
Le prototype de
setgroups
n'est disponible que si
_BSD_SOURCE
est définie (soit explicitement, soit implicitement en ne définissant pas
_POSIX_SOURCE ou en compilant avec l'option -ansi).
CONFORMITÉ
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.
VOIR AUSSI
TRADUCTION
Christophe Blaess, 1996-2003.
|
|