.\" -*- coding: UTF-8 -*- .\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) .\" and Copyright (C) 2008, 2010, 2015, Michael Kerrisk .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" Modified Thu Oct 31 12:04:29 1996 by Eric S. Raymond .\" Modified, 27 May 2004, Michael Kerrisk .\" Added notes on capability requirements .\" 2008-05-03, mtk, expanded and rewrote parts of DESCRIPTION and RETURN .\" VALUE, made style of page more consistent with man-pages style. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH GETGROUPS 2 "6 maart 2019" Linux "Linux Programmeurs Handleiding" .SH NAAM getgroups, setgroups \- krijg/zet een lijst van aanvullende groep ID's .SH SAMENVATTING \fB#include \fP .br \fB#include \fP .PP \fBint getgroups(int \fP\fIgrootte\fP\fB, gid_t \fP\fIlijst\fP\fB[]);\fP \fB#include \fP .PP \fBint setgroups(size_t \fP\fIgrootte\fP\fB, const gid_t *\fP\fIlijst\fP\fB);\fP .PP .RS -4 Test Macro´s in glibc (zie \fBfeature_test_macros\fP(7)): .RE .PP \fBsetgroups\fP(): Sinds glibc 2.19: _DEFAULT_SOURCE Glibc 2.19 en eerder: _BSD_SOURCE .SH BESCHRIJVING \fBgetgroups\fP() geeft de aanvullende groep ID´s van het aanroepende proces terug in \fIlijst\fP. Het argument \fIgrootte\fP dient gezet te worden op het maximum aantal elementen dat kan worden opgeslagen in de buffer aangewezen door \fIlijst\fP. Als het aanroepende proces lid is van meer dan \fIgrootte\fP aanvullende groepen, dat treedt een fout op. .PP Het is niet gespecificeerd of het effectieve groep ID van het aanroepende proces is bevat in de geretourneerde lijst. (Dus, aan applicatie moet ook \fBgetegid\fP(2) aanroepen en de resulterende waarde verwijderen of toevoegen. .PP Als \fIgrootte\fP nul is dan wordt \fIlijst\fP niet veranderd, maar het gehele aantal van aanvullende groepen voor hetproces wordt teruggegeven. .PP \fBsetgroups\fP() zet de aanvullende groepen voor een proces. Alleen de super\-gebruiker mag deze functie gebruiken. .PP .in +4n .EX setgroups(0, NULL); .EE .in .SH "EIND WAARDE" Bij success geeft \fBgetgroups\fP() het aantal aanvullende groep ID's terug. Bij falen wordt \-1 teruggegeven, en \fIerrno\fP wordt naar behoren gezet. .PP Bij success geeft \fBsetgroups\fP() nul terug. Bij falen wordt \-1 teruggegeven, en wordt \fIerrno\fP naar behoren gezet. .SH FOUTEN .TP \fBEFAULT\fP \fIlijst\fP heeft een ongeldig adres. .PP \fBgetgroups\fP() kan ook nog falen met de volgende fout: .TP \fBEINVAL\fP \fIgrootte\fP is kleiner dan het aantal aanvullende groep ID's, maar is niet nul. .PP \fBgetgroups\fP() kan ook nog falen met de volgende fout: .TP \fBEINVAL\fP \fIgrootte\fP is groter dan \fBNGROUPS_MAX\fP (32 voor Linux 2.6.4; 65536 sinds Linux 2.6.4). .TP \fBENOMEM\fP Geen geheugen meer. .TP \fBEPERM\fP Het aanroepende proces heeft onvoldoende rechten (De aanroeper heeft niet de \fBCAP_SETGID\fP capaciteit in de gebruiker naamruimte waarin het zich bevind. .TP \fBEPERM\fP (sinds Linux 3.19) Het gebruik van \fBsetgroups\fP() wordt gewijgerd in deze gebruiker naamruimte. Zie de beschrijving van \fI/proc/[pid]/setgroups\fP in \fBuser_namespaces\fP(7). .SH "VOLDOET AAN" \fBgetgroups\fP(): SVr4, 4.3BSD, POSIX.1\-2001, POSIX.1\-2008. .PP \fBsetgroups\fP(): SVr4, 4.3BSD. Omdat \fBsetgroups\fP() een privilege vereist, is deze niet beschreven in POSIX.1. .SH OPMERKINGEN Een proces kan tot \fBNGROUPS_MAX\fP aanvullende groep ID´s hebben boven op het effectieve groep ID. De constante \fBNGROUPS_MAX\fP is gedefinieerd in \fI\fP. De verzameling van aanvullende groep ID´s wordt geërfd van het ouder proces en blijft bewaard langs een \fBexecve\fP(2). .PP Het maximum aantal aanvullende groep ID´s kan worden gevonden tijdens het uitvoeren door gebruik te maken van \fBsysconf\fP(3): .PP .in +4n .EX long ngroups_max; ngroups_max = sysconf(_SC_NGROUPS_MAX); .EE .in .PP De maximale uitvoer waarde van \fBgetgroups\fP() 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 \fI/proc/sys/kernel/ngroups_max\fP. .PP .\" De originele Linux \fBgetgroups\fP() systeem aanroep ondersteunde alleen 16\-bit groep ID´s. Vervolgens voegde Linux 2.4 \fBgetgroups32\fP() toe, die 32\-bit groep ID´s ondersteunde. De glibc \fBgetgroups\fP() omwikkel functie handelt de verschillen tussen kernel variaties transparant af. .SS "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 \fBsetgroups\fP()) 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 \fBnptl\fP(7). .SH "ZIE OOK" \fBgetgid\fP(2), \fBsetgid\fP(2), \fBgetgrouplist\fP(3), \fBgroup_member\fP(3), \fBinitgroups\fP(3), \fBcapabilities\fP(7), \fBcredentials\fP(7) .SH COLOFON Deze pagina is onderdeel van release 5.10 van het Linux \fIman\-pages\fP\-project. Een beschrijving van het project, informatie over het melden van bugs en de nieuwste versie van deze pagina zijn op \%https://www.kernel.org/doc/man\-pages/ te vinden. .SH VERTALING De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema , Mario Blättermann en Luc Castermans . Deze vertaling is vrije documentatie; lees de .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE 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 .MT debian-l10n-dutch@lists.debian.org .ME .