.\" -*- 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 mai 2024" "Pagini de manual de Linux 6.9.1" .SH NUME setreuid, setregid, setregid \- stabilesc ID\-ul real și/sau efectiv al utilizatorului sau al grupului .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSIS .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 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .P \fBsetreuid\fP(), \fBsetregid\fP(): .nf .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE >= 500 || /* Începând cu glibc 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE .fi .SH DESCRIERE \fBsetreuid\fP() stabilește ID\-urile de utilizator real și efectiv ale procesului apelant. .P Furnizarea unei valori de \-1 pentru ID\-ul real sau efectiv al utilizatorului forțează sistemul să lase acel ID neschimbat. .P Procesele neprivilegiate pot stabili ID\-ul efectiv al utilizatorului numai la ID\-ul real al utilizatorului, la ID\-ul efectiv al utilizatorului sau la set\-user\-ID salvat. .P Utilizatorii neprivilegiați pot stabili doar ID\-ul real al utilizatorului la ID\-ul real al utilizatorului sau la ID\-ul efectiv al utilizatorului. .P Dacă ID\-ul real al utilizatorului este stabilit (adică \fIruid\fP nu este \-1) sau dacă ID\-ul efectiv al utilizatorului este stabilit la o valoare diferită de ID\-ul real al utilizatorului anterior, set\-user\-ID salvat va fi stabilit la noul ID efectiv al utilizatorului. .P În mod complet analog, \fBsetregid\fP() stabilește ID\-urile de grup reale și efective ale procesului apelant, iar toate cele de mai sus sunt valabile cu „grup” în loc de „utilizator”. .SH "VALOAREA RETURNATĂ" În caz de succes, se returnează zero. În caz de eroare, se returnează \-1, iar \fIerrno\fP este configurată pentru a indica eroarea. .P \fINotă\fP: există cazuri în care \fBsetreuid\fP() poate eșua chiar și atunci când apelantul este UID 0; este o gravă eroare de securitate să se omită verificarea pentru o returnare a unui eșec de la \fBsetreuid\fP(). .SH ERORI\-IEȘIRE .TP \fBEAGAIN\fP Apelul ar schimba UID\-ul real al apelantului (adică \fIruid\fP nu se potrivește cu UID\-ul real al apelantului), dar a existat un eșec temporar în alocarea structurilor de date necesare ale nucleului. .TP \fBEAGAIN\fP \fIruid\fP nu se potrivește cu UID\-ul real al apelantului și acest apel ar aduce numărul de procese aparținând ID\-ului de utilizator real \fIruid\fP peste limita de resurse \fBRLIMIT_NPROC\fP a apelantului. Începând cu Linux 3.1, acest caz de eroare nu mai apare (dar aplicațiile robuste ar trebui să verifice această eroare); vedeți descrierea lui \fBEAGAIN\fP din \fBexecve\fP(2). .TP \fBEINVAL\fP Unul sau mai multe dintre ID\-urile utilizatorului sau grupului țintă nu sunt valide în acest spațiu de nume de utilizator. .TP \fBEPERM\fP Procesul apelant nu este privilegiat (în Linux, nu are capacitatea necesară în spațiul de nume de utilizator): \fBCAP_SETUID\fP în cazul lui \fBsetreuid\fP() sau \fBCAP_SETGID\fP în cazul lui \fBsetregid\fP()) și a fost specificată o modificare, alta decât (i) schimbarea ID\-ului efectiv al utilizatorului (grupului) cu ID\-ul real al utilizatorului (grupului) sau (ii) stabilirea unuia la valoarea celuilalt sau (iii) stabilirea ID\-ului efectiv al utilizatorului (grupului) la valoarea set\-user\-ID salvat (set\-group\-ID salvat). .SH VERSIUNI POSIX.1 nu specifică toate modificările UID pe care Linux le permite pentru un proces neprivilegiat. Pentru \fBsetreuid\fP(), ID\-ul efectiv al utilizatorului poate fi făcut identic cu ID\-ul real al utilizatorului sau cu ID\-ul salvat și nu este specificat dacă procesele neprivilegiate pot stabili ID\-ul real al utilizatorului la ID\-ul real al utilizatorului, la ID\-ul efectiv al utilizatorului sau la ID\-ul salvat al utilizatorului. Pentru \fBsetregid\fP(), ID\-ul real al grupului poate fi modificat la valoarea set\-group\-ID salvat, iar ID\-ul efectiv al grupului poate fi modificat la valoarea ID\-ului real al grupului sau la valoarea set\-group\-ID salvat. Detaliile exacte ale modificărilor de ID permise variază de la o implementare la alta. Translated with DeepL.com (free version) .P POSIX.1 nu face nicio specificație cu privire la efectul acestor apeluri asupra set\-user\-ID și set\-group\-ID salvate. .SH STANDARDE POSIX.1\-2008. .SH ISTORIC POSIX.1\-2001, 4.3BSD (a apărut pentru prima dată în 4.2BSD). .P Stabilirea ID\-ului efectiv al utilizatorului (grupului) la set\-user\-ID salvat (set\-group\-ID salvat) este posibilă începând cu Linux 1.1.37 (1.1.38). .P .\" Apelurile de sistem originale Linux \fBsetreuid\fP() și \fBsetregid\fP() acceptau numai ID\-uri de utilizator și de grup pe 16 biți. Ulterior, Linux 2.4 a adăugat \fBsetreuid32\fP() și \fBsetregid32\fP(), care acceptă ID\-uri pe 32 de biți. Funcțiile de învăluire glibc \fBsetreuid\fP() și \fBsetregid\fP() tratează în mod transparent variațiile dintre versiunile nucleului. .SS "Diferențe între biblioteca C și nucleu" La nivelul nucleului, ID\-urile de utilizator și ID\-urile de grup sunt un atribut pentru fiecare fir de execuție. Cu toate acestea, POSIX impune ca toate firele dintr\-un proces să aibă aceleași credențiale. Implementarea „NPTL threading” se ocupă de cerințele POSIX prin furnizarea de funcții de învăluire pentru diferitele apeluri de sistem care modifică UID și GID ale proceselor. Aceste funcții învăluitoare (inclusiv cele pentru \fBsetreuid\fP() și \fBsetregid\fP()) utilizează o tehnică bazată pe semnale pentru a se asigura că, atunci când un fir de execuție își schimbă acreditările, toate celelalte fire de execuție din proces își schimbă și ele acreditările. Pentru detalii, a se vedea \fBnptl\fP(7). .SH "CONSULTAȚI ȘI" \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 TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .