.\" -*- 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. .\" .\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" %%%LICENSE_END .\" .\" @(#)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 "15 september 2017" Linux "Linux Programmeurs Handleiding" .SH NAAM setreuid, setregid \- zet echte en/of geldende gebruiker of groep ID .SH SAMENVATTING \fB#include \fP .br \fB#include \fP .PP \fBint setreuid(uid_t \fP\fIruid\fP\fB, uid_t \fP\fIeuid\fP\fB);\fP .br \fBint setregid(gid_t \fP\fIrgid\fP\fB, gid_t \fP\fIegid\fP\fB);\fP .PP .in -4n Test Macro´s in glibc (zie \fBfeature_test_macros\fP(7)): .in .PP \fBsetreuid\fP(), \fBsetregid\fP(): .RS 4 .ad l .\" || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE\ >=\ 500 || /* Sinds glibc 2.19: */ _DEFAULT_SOURCE || /* Glibc versies <= 2.19: */ _BSD_SOURCE .ad .RE .SH BESCHRIJVING \fBsetreuid\fP() zet echte en geldende gebruiker ID's van het huidige proces. .PP Opgeven van een waarde van \-1 voor of het echte of het geldende ID dwingt het systeem dat ID onveranderd te laten. .PP 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. .PP On\-geprivilegieerde gebruikers mogen het echte gebruiker ID naar het geldende gebruiker ID zetten en andersom. .PP 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. .PP 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. .PP \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 "VOLDOET AAN" POSIX.1\-2001, POSIX.1\-2008, 4.3BSD (\fBsetreuid\fP() en \fBsetregid\fP() verschenen voor het eerst in 4.2BSD). .SH OPMERKINGEN 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). .PP 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. .PP POSIX.1 specificeert het effect van deze aanroepen op de opgeslagen set\-user\-ID en opgeslagen set\-group\-ID niet. .PP .\" 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) .SH COLOFON Deze pagina is onderdeel van release 5.04 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 .