setgid(2) | System Calls Manual | setgid(2) |
setgid - zet groep identiteit
Standard C bibliotheek (libc, -lc)
#include <unistd.h>
int setgid(gid_t gid);
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.
Bij succes wordt nul teruggegeven. Bij falen wordt -1 teruggegeven en wordt errno overeenkomstig gezet.
POSIX.1-2001, POSIX.1-2008, SVr4.
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.
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).
getgid(2), setegid(2), setregid(2), capabilities(7), credentials(7), user_namespaces(7)
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.
30 oktober 2022 | Linux man-pagina's 6.03 |