Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

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> >>.