Provided by: manpages-nl-dev_4.27.0-1_all bug

NAAM

       getgroups, setgroups - krijg/zet een lijst van aanvullende groep ID's

BIBLIOTHEEK

       Standard C bibliotheek  (libc, -lc)

SAMENVATTING

       #include <unistd.h>

       int getgroups(int grootte, gid_t lijst[]);

       #include <grp.h>

       int setgroups(size_t grootte, const gid_t *_NULL_baarlijst);

   Feature Test Macro´s eisen in  glibc (zie feature_test_macros(7)):

       setgroups(2):
           Vanaf glibc 2.19:
               _DEFAULT_SOURCE
           Glibc 2.19 en eerder:
               _BSD_SOURCE

BESCHRIJVING

       getgroups()  geeft  de  aanvullende  groep  ID´s  van het aanroepende proces terug in lijst. Het argument
       grootte dient gezet te worden op het maximum aantal elementen dat kan  worden  opgeslagen  in  de  buffer
       aangewezen  door  lijst.  Als het aanroepende proces lid is van meer dan grootte aanvullende groepen, dat
       treedt een fout op.

       Het is niet gespecificeerd of het effectieve  groep  ID  van  het  aanroepende  proces  is  bevat  in  de
       geretourneerde  lijst.  (Dus,  aan  applicatie  moet  ook  getegid(2) aanroepen en de resulterende waarde
       verwijderen of toevoegen.

       Als grootte nul is dan wordt lijst niet veranderd, maar het gehele aantal van  aanvullende  groepen  voor
       hetproces wordt teruggegeven.

       setgroups()  zet  de  aanvullende  groepen  voor  een  proces. Alleen de super-gebruiker mag deze functie
       gebruiken.

           setgroups(0, NULL);

EIND WAARDE

       Bij success geeft getgroups() het aantal aanvullende groep ID's terug. Bij falen wordt  -1  teruggegeven,
       en errno wordt overeenkomstig gezet.

       Bij  success  geeft setgroups() nul terug. Bij falen wordt -1 teruggegeven, en wordt errno overeenkomstig
       gezet.

FOUTEN

       EFAULT lijst heeft een ongeldig adres.

       getgroups()  kan ook nog falen met de volgende fout:

       EINVAL grootte is kleiner dan het aantal aanvullende groep ID's, maar is niet nul.

       getgroups()  kan ook nog falen met de volgende fout:

       EINVAL grootte is groter dan NGROUPS_MAX (32 voor Linux 2.6.4; 65536 sinds Linux 2.6.4).

       ENOMEM Geen geheugen meer.

       EPERM  Het aanroepende proces heeft onvoldoende rechten (De aanroeper heeft niet de CAP_SETGID capaciteit
              in de gebruiker naamruimte waarin het zich bevind.

       EPERM (sinds Linux 3.19)
              Het gebruik van setgroups() wordt geweigerd in deze gebruiker naamruimte. Zie de beschrijving  van
              /proc/pid/setgroups in user_namespaces(7).

VERSIES

   C library/kernel verschillen
       Op  kernel  niveau,  zijn gebruiker ID´s en groep ID´s een per-thread attribute. Hoewel POSIX vereist dat
       alle threads in een proces dezelfde identificatie hebben. De NPTL threading implementaties voldoen aan de
       POSIX eis door omwikkel functies voor de verschillende systeem aanroepen die de UID´s en GID´s veranderen
       te implementeren. Deze omwikkel functies (inclusief die voor setgroups()) gebruiken een  op  een  signaal
       gebaseerde  techniek  om  te verzekeren dat wanneer in een thread de identificatie verandert, alle andere
       threads in het proces ook hun identificatie veranderen. Voor details zie nptl(7).

VOLDOET AAN

       getgroups()
              POSIX.1-2008.

       setgroups()
              Geen.

GESCHIEDENIS

       getgroups()
              SVr4, 4.3BSD, POSIX.1-2001.

       setgroups()
              SVr4, 4.3BSD.  Vanaf vereist setgroups() privileges. Dit is niet beschreven in POSIX.1.

       De originele Linux getgroups()  systeem aanroep ondersteunde alleen 16-bit groep ID´s. Vervolgens  voegde
       Linux  2.4  getgroups32()  toe, die 32-bit groep ID´s ondersteunde. De glibc getgroups() omwikkel functie
       handelt de verschillen tussen kernel variaties transparant af.

OPMERKINGEN

       Een proces kan tot NGROUPS_MAX  aanvullende groep ID´s hebben  boven  op  het  effectieve  groep  ID.  De
       constante  NGROUPS_MAX  is  gedefinieerd  in  <limits.h>. De verzameling van aanvullende groep ID´s wordt
       geërfd van het ouder proces en blijft bewaard langs een execve(2).

       Het maximum aantal aanvullende groep ID´s kan worden gevonden tijdens het uitvoeren door gebruik te maken
       van sysconf(3):

           long ngroups_max;
           ngroups_max = sysconf(_SC_NGROUPS_MAX);

       De maximale uitvoer waarde van getgroups() kan niet groter zijn dan een meer dan deze waarde. Vanaf Linux
       2.6.4, is het maximum aantal aanvullende groep ID´s ook zichtbaar via het Linux  specifieke  alleen-lezen
       bestand /proc/sys/kernel/ngroups_max.

ZIE OOK

       getgid(2), setgid(2), getgrouplist(3), group_member(3), initgroups(3), capabilities(7), credentials(7)

VERTALING

       De  Nederlandse  vertaling  van deze handleiding is geschreven door Jos Boersema <joshb@xs4all.nl>, Mario
       Blättermann <mario.blaettermann@gmail.com> en Luc Castermans <luc.castermans@gmail.com>

       Deze vertaling is vrije documentatie; lees  de  GNU General Public License Version 3  of  later  over  de
       Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID.

       Indien  U  fouten  in  de  vertaling  van deze handleiding zou vinden, stuur een e-mail naar debian-l10n-
       dutch@lists.debian.org.

Linux man-pagina's 6.9.1                           2 mei 2024                                       getgroups(2)