SETGID(2)

NAAM
setgid - zet groep identiteit

SAMENVATTING
#include <unistd.h>

int setgid(gid_t gid);

BESCHRIJVING
setgid() zet het geldende groep ID van het aanroepende proces. Als het aanroepende proces is geprivilegieerd (preciezer: heeft de CAP_SETGID capaciteit in zijn user namespace), dan worden de echte GID en bewaarde set-group-ID ook gezet.

Onder Linux is setgid() verwezenlijkt zoals de POSIX versie met de _POSIX_SAVED_IDS uitrusting. Dit status een zet-gid (anders dan root) toe al zijn groep privileges te laten vallen, wat ongepriveligieerd werk te doen en dan het originele geldende groep ID weer op te pakken op een veilige manier.

EIND WAARDE
Bij succes wordt nul teruggegeven. Bij falen wordt -1 teruggegeven en wordt errno overeenkomstig gezet.

FOUTEN

EINVAL
    De groep ID zoals opgegeven in gid is niet geldig in deze user namespace.

EPERM
    Het aanroepende proces heeft geen privilege (heeft niet de CAP_SETGID capaciteit in zijn user namespace), en gid past niet op het echte groep ID of bewaarde set-group-ID van het aanroepende proces.

VOLDOET AAN
POSIX.1-2001, POSIX.1-2008, SVr4.

OPMERKINGEN
De originele Linux setgid() systeem aanroep ondersteunde alleen 16-bit groep ID´s. Nadien voegde Linux 2.4 setgid32() toe ondersteunende 32-bit ID´s. De glibc setgid() omwikkel functie handelt de variaties in kernel versies transparant af.

  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 setgid()) 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).

ZIE OOK
getgid(2), setegid(2), setregid(2), capabilities(7), credentials(7), user_namespaces(7)

COLOFON
Deze pagina is onderdeel van release 5.13 van het Linux man-pages-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.

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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.