.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1997 Andries Brouwer (aeb@cwi.nl) .\" and Copyright (C) 2005, 2010, 2014, 2015, Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Modified, 2003-05-26, Michael Kerrisk, .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH setresuid 2 "30 martie 2023" "Pagini de manual de Linux 6.05.01" .SH NUME setresuid, setresgid \- stabilesc ID\-ul utilizatorului sau grupului real, efectiv și salvat .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT .nf \fB#define _GNU_SOURCE\fP /* Consultați feature_test_macros(7) */ \fB#include \fP .PP \fBint setresuid(uid_t \fP\fIruid\fP\fB, uid_t \fP\fIeuid\fP\fB, uid_t \fP\fIsuid\fP\fB);\fP \fBint setresgid(gid_t \fP\fIrgid\fP\fB, gid_t \fP\fIegid\fP\fB, gid_t \fP\fIsgid\fP\fB);\fP .fi .SH DESCRIERE \fBsetresuid\fP() stabilește ID\-ul real al utilizatorului, ID\-ul efectiv al utilizatorului și ID\-ul salvat de set\-user\-ID al procesului apelant. .PP Un proces neprivilegiat își poate schimba UID\-ul real, UID\-ul efectiv și set\-user\-ID\-ul salvat, fiecare cu unul dintre: UID\-ul real curent, UID\-ul efectiv curent sau set\-user\-ID\-ul salvat curent. .PP Un proces privilegiat ( în Linux, un proces care are capacitatea \fBCAP_SETUID\fP) își poate stabili UID\-ul real, UID\-ul efectiv și set\-user\-ID\-ul salvat la valori arbitrare. .PP În cazul în care unul dintre argumente este egal cu \-1, valoarea corespunzătoare nu se modifică. .PP Indiferent de modificările aduse UID\-ului real, UID\-ului efectiv și set\-user\-ID\-ului salvat, UID\-ul sistemului de fișiere este întotdeauna stabilit la aceeași valoare ca și UID\-ul efectiv (posibil nou). .PP În mod complet analog, \fBsetresgid\fP() stabilește GID\-ul real, GID\-ul efectiv și set\-group\-ID\-ul salvat al procesului apelant (și modifică întotdeauna GID\-ul sistemului de fișiere pentru a fi același cu GID\-ul efectiv), cu aceleași restricții pentru procesele neprivilegiate. .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. .PP \fINotă\fP: există cazuri în care \fBsetresuid\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 \fBsetresuid\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 (nu avea capacitatea necesară în spațiul de nume de utilizator) și a încercat să schimbe ID\-urile în valori care nu sunt permise. Pentru \fBsetresuid\fP(), capacitatea necesară este \fBCAP_SETUID\fP; pentru \fBsetresgid\fP(), aceasta este \fBCAP_SETGID\fP. .SH VERSIUNI .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 \fBsetresuid\fP() și \fBsetresgid\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 STANDARDE Niciunul. .SH ISTORIC Linux 2.1.44, glibc 2.3.2. HP\-UX, FreeBSD. .PP Apelurile de sistem \fBsetresuid\fP() și \fBsetresgid\fP() originale Linux suportau numai ID\-uri de utilizator și de grup pe 16 biți. Ulterior, Linux 2.4 a adăugat \fBsetresuid32\fP() și \fBsetresgid32\fP(), care acceptă ID\-uri pe 32 de biți. Funcțiile de învăluire glibc \fBsetresuid\fP() și \fBsetresgid\fP() tratează în mod transparent variațiile dintre versiunile nucleului. .SH "CONSULTAȚI ȘI" \fBgetresuid\fP(2), \fBgetuid\fP(2), \fBsetfsgid\fP(2), \fBsetfsuid\fP(2), \fBsetreuid\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 .