.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1983, 1991 The Regents of the University of California. .\" and Copyright (C) 2009, 2010, 2014, 2015, Michael Kerrisk .\" All rights reserved. .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\" @(#)setregid.2 6.4 (Berkeley) 3/10/91 .\" .\" Modified Sat Jul 24 09:08:49 1993 by Rik Faith .\" Portions extracted from linux/kernel/sys.c: .\" Copyright (C) 1991, 1992 Linus Torvalds .\" May be distributed under the GNU General Public License .\" Changes: 1994-07-29 by Wilf .\" 1994-08-02 by Wilf due to change in kernel. .\" 2004-07-04 by aeb .\" 2004-05-27 by Michael Kerrisk .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH setreuid 2 "2 mei 2024" "Linux man\-pages 6.8" .SH NAAM setreuid, setregid \- zet echte en/of geldende gebruiker of groep ID .SH BIBLIOTHEEK Standard C bibliotheek (\fIlibc\fP, \fI\-lc\fP) .SH SAMENVATTING .nf \fB#include \fP .P \fBint setreuid(uid_t \fP\fIruid\fP\fB, uid_t \fP\fIeuid\fP\fB);\fP \fBint setregid(gid_t \fP\fIrgid\fP\fB, gid_t \fP\fIegid\fP\fB);\fP .fi .P .RS -4 Feature Test Macro´s eisen in glibc (zie \fBfeature_test_macros\fP(7)): .RE .P \fBsetreuid\fP(), \fBsetregid\fP(): .nf .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE >= 500 || /* Since glibc 2.19: */ _DEFAULT_SOURCE || /* Glibc <= 2.19: */ _BSD_SOURCE .fi .SH BESCHRIJVING \fBsetreuid\fP() zet echte en geldende gebruiker ID's van het huidige proces. .P Opgeven van een waarde van \-1 voor of het echte of het geldende ID dwingt het systeem dat ID onveranderd te laten. .P Niet\-geprivilegieerde processen mogen alleen het effectieve gebruiker ID naar het geldende gebruiker ID, het effectieve gebruiker ID of het opgeslagen set\-user\-ID zetten. .P On\-geprivilegieerde gebruikers mogen het echte gebruiker ID naar het geldende gebruiker ID zetten en andersom. .P Als het echte gebruiker ID veranderd wordt (i.e., \fIruid\fP is niet \-1) of het geldende gebruiker ID wordt naar een waarde gezet niet gelijk aan het vorige echte gebruiker ID, dan zal het bewaarde ID gezet worden naar het nieuwe geldende gebruiker ID. .P Volledig analoog zet \fBsetregid\fP() echte en effectieve groep ID´s van het aanroepende proces, en alles hierboven is geldig met "groep" in plaats van "gebruiker". .SH "EIND WAARDE" Bij succes wordt nul teruggegeven. Bij falen wordt \-1 teruggegeven en wordt \fIerrno\fP overeenkomstig gezet. .P \fIOpmerking\fP: er zijn gevallen waarbij \fBsetreuid\fP() kan falen, zelfs wanneer de aanroeper UID 0 is; het is een grove veiligheidsfout om de terugkeer waarde van \fBsetreuid\fP() niet te controleren. .SH FOUTEN .TP \fBEAGAIN\fP De aanroep zou de echte UID van de aanroeper veranderen (m.a.w., \fIruid\fP komt niet overeen met de echte UID van de aanroeper), maar er trad een tijdelijke fout op bij het toekennen van de benodigde data structuren in de kernel. .TP \fBEAGAIN\fP \fIruid\fP komt niet overeen met de echte gebruiker ID van de aanroeper en deze aanroep zou het aantal processen, behorende bij de echte gebruikers ID \fIruid\fP, boven de resource limiet \fBRLIMIT_NPROC\fP van de aanroeper brengen. Vanaf Linux 3.1 komt deze fout niet meer voor (nog steeds zouden robuuste applicaties op deze fout moeten controleren); zie de beschrijving van \fBEAGAIN\fP in \fBexecvd\fP(2). .TP \fBEINVAL\fP Een of meer van de doel gebruiker of groep ID´s is niet geldig in de gebruiker naamruimte. .TP \fBEPERM\fP De aanroepende proces is niet\-geprivilegieerd (op Linux: heeft niet de noodzakelijke capaciteit in zijn gebruiker naamruimte: \fBCAP_SETUID\fP in het geval van \fBsetreuid\fP(), of \fBCAP_SETGID\fP in het geval van \fBsetregid\fP()) en een verandering anders dan (i) ruilen van het effectieve gebruiker (groep) ID met de echte gebruiker (groep) ID, of (ii) eentje zetten op de waarde van de ander of (iii) zetten van de effectieve gebruiker (groep) ID op de waarde van het opgeslagen set\-user\-ID (opgeslagen set\-group\-ID) werd gespecificeerd. .SH VERSIES POSIX.1 specificeert niet alle UID veranderingen die Linux toestaat voor een niet\-geprivilegieerd proces. Met \fBsetreuid\fP() kan het effectieve gebruiker ID identiek gemaakt worden aan het echte gebruiker ID of het opgeslagen set\-user\-ID, en het is niet gespecificeerd of een niet\-geprivilegieerd proces het echte gebruiker ID op het echte gebruiker ID, het echte groep ID of het opgeslagen set\-user\-ID mag zetten. Met \fBsetreuid\fP() kan het echte groep ID verandert worden naar de waarde van het echte groep ID of het opgeslagen set\-group\-ID. De precieze details omtrent welke ID veranderingen toegestaan worden variëren per implementatie. .P POSIX.1 specificeert het effect van deze aanroepen op de opgeslagen set\-user\-ID en opgeslagen set\-group\-ID niet. .SH "VOLDOET AAN" POSIX.1\-2008. .SH GESCHIEDENIS POSIX.1\-2001, 4.3BSD (verschenen voor het eerst in 4.2BSD). .P Zetten van het effectieve gebruiker (groep) ID op het opgeslagen set\-user\-ID (opgeslagen set\-group\-ID) is mogelijk vanaf Linux 1.1.37 (1.1.38). .P .\" De originele Linux \fBsetreuid\fP() en \fBsetregid\fP() systeem aanroepen ondersteunen alleen 16\-bit gebruiker en groep IDs. Vervolgens, voegde Linux 2.4 \fBsetreuid32\fP() en \fBsetregid32\fP() toe voor 32\-bit IDs ondersteuning. De glibc \fBsetreuid\fP() en \fBsetregid\fP() omwikkel functies handelen de variaties in kernel versies transparant af. .SS "C library/kernel verschillen" Op kernel niveau zijn gebruiker ID en groep ID een per\-thread attribute. Hoewel POSIX vereist dat alle threads van een proces dezelfde identiteit delen. De NPTL implementatie van threads implementeert de POSIX eis door in omwikkel functies te voorzien voor de diverse systeem aanroepen die de UID´s en GID´s veranderen. Deze omwikkel functies (inclusief die ene voor \fBsetreuid\fP() en \fBsetregid\fP()) gebruiken een op signalen gebaseerde techniek om er van zeker te zijn dat als een thread zijn identiteit verandert, alle andere threads van dat proces ook hun identiteit veranderen. Zie voor details \fBnptl\fP(7). .SH "ZIE OOK" \fBgetgid\fP(2), \fBgetuid\fP(2), \fBseteuid\fP(2), \fBsetgid\fP(2), \fBsetresuid\fP(2), \fBsetuid\fP(2), \fBcapabilities\fP(7), \fBcredentials\fP(7), \fBuser_namespaces\fP(7) .PP .SH VERTALING De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema , Mario Blättermann en Luc Castermans . .PP 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. .PP Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar .MT debian-l10n-dutch@lists.debian.org .ME .