Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
getgroups, setgroups - Lire/ecrire la liste des groupes supplementaires
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);
Exigences de macros de test de fonctionnalites pour la glibc (consultez
feature_test_macros(7)) :
setgroups() : _BSD_SOURCE
DESCRIPTION
getgroups() renvoie dans la liste list les identifiants des groupes
additionnels du processus appelant. Le parametre size doit indiquer le
nombre maximal d'elements qui peuvent etre stockes dans le tampon
pointe par list. Si le processus appelant a plus que size groupes
additionnels, cela genere une erreur. Il n'est pas specifie si
l'identifiant du groupe effectif du processus appelant est inclus dans
la liste renvoyee (ainsi une application devrait egalement appeler
getegid(2) et ajouter ou supprimer la valeur resultante).
Si size vaut zero, list n'est pas modifiee, mais le nombre total de
groupes additionnels pour le processus est renvoye. Ceci permet a
l'appelant de determiner la taille d'une liste list allouee
dynamiquement a utiliser dans une appel a getgroups() ulterieur.
setgroups() fixe des identifiants de groupes additionnels pour le
processus appelant. Les privileges appropries (sous Linux : la capacite
CAP_SETGID) sont necessaires. Le parametre size indique le nombre
d'identifiants de groupes additionnels du tampon pointe par list.
VALEUR RENVOY'EE
En cas de succes, getgroups() renvoie le nombre d'identifiants de
groupes additionnels. En cas d'erreur, -1 est renvoye et errno contient
le code d'erreur.
En cas de succes, setgroups() renvoie 0. En cas d'erreur, -1 est
renvoye et errno contient le code d'erreur.
ERREURS
EFAULT list pointe en dehors de l'espace d'adressage accessible.
getgroups() peut egalement echouer avec les erreurs suivantes :
EINVAL size est inferieur au nombre d'identifiants de groupes
additionnels, et n'est pas nul.
setgroups() peut egalement echouer avec les erreurs suivantes :
EINVAL size est plus grand que NGROUPS_MAX (32 avant Linux 2.6.4 ;
65536 depuis Linux 2.6.4).
ENOMEM Plus de memoire disponible.
EPERM L'appelant n'a pas les privileges necessaires.
CONFORMIT'E
SVr4, BSD 4.3. getgroups() est conforme a POSIX.1-2001. Comme
setgroups() necessite des privileges, il n'est pas couvert par
POSIX.1-2001.
NOTES
Un processus peut avoir jusqu'a NGROUPS_MAX identifiants de groupes
additionnels en plus de son identifiant de groupe effectif. Le jeu
d'identifiants de groupes additionnels est herite du processus parent,
et est preserve au travers des appels a execve(2).
Le nombre maximal d'identifiants de groupes additionnels peut etre
obtenus avec sysconf(3) :
long ngroups_max;
ngroups_max = sysconf(_SC_NGROUPS_MAX);
La valeur de retour maximale de getgroups() ne peut pas etre plus
grande que 1 plus cette valeur.
VOIR AUSSI
getgid(2), setgid(2), getgrouplist(3), initgroups(3), capabilities(7),
credentials(7)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Julien
Cristau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.