setgid(2) System Calls Manual setgid(2) NUME setgid - stabilete identitatea grupului BIBLIOTECA Biblioteca C standard (libc, -lc) REZUMAT #include int setgid(gid_t identificator_grup(gid)); DESCRIERE setgid() stabilete identificatorul efectiv de grup al procesului apelant. In cazul in care procesul apelant este privilegiat (mai exact: are capacitatea CAP_SETGID in spaiul sau de nume de utilizator), se stabilesc, de asemenea, GID real i set-group-ID salvat. In Linux, setgid() este implementat ca versiunea POSIX cu caracteristica _POSIX_SAVED_IDS. Acest lucru permite unui program set-group-ID care nu este set-user-ID-root sa renune la toate privilegiile de grup, sa faca unele lucrari fara privilegii i apoi sa reangajeze ID-ul de grup efectiv iniial intr-un mod sigur. VALOAREA RETURNATA In caz de succes, se returneaza zero. In caz de eroare, se returneaza -1, iar errno este configurata pentru a indica eroarea. ERORI-IEIRE EINVAL Identificatorul grupului specificat in identificator_grup(gid) nu este valabil in acest spaiu de nume de utilizator. EPERM Procesul apelant nu este privilegiat (nu are capacitatea CAP_SETGID in spaiul sau de nume de utilizator), iar identificator_grup(gid) nu se potrivete cu identificatorul de grup real sau cu identificatorul de grup salvat al procesului apelant. VERSIUNI Diferene intre biblioteca C i nucleu La nivelul nucleului, identificatorii de utilizator i identificatorii de grup sunt un atribut pentru fiecare fir de execuie. Cu toate acestea, POSIX impune ca toate firele dintr-un proces sa aiba aceleai acreditari. Implementarea NPTL a firelor de execuie se ocupa de cerinele POSIX prin furnizarea de funcii de acoperire pentru diferitele apeluri de sistem care modifica UID i GID ale proceselor. Aceste funcii de invaluire ,,wrapper" (inclusiv cea pentru setgid()) utilizeaza o tehnica bazata pe semnale pentru a se asigura ca, atunci cand un fir de execuie ii schimba acreditarile, toate celelalte fire de execuie din proces ii schimba i ele acreditarile. Pentru detalii, a se vedea nptl(7). STANDARDE POSIX.1-2008. ISTORIC POSIX.1-2001, SVr4. Apelul de sistem original Linux setgid() suporta doar identificatori de grup pe 16 bii. Ulterior, Linux 2.4 a adaugat setgid32() care accepta identificatori pe 32 de bii. Funcia de invaluire glibc setgid() trateaza in mod transparent variaia dintre versiunile de kernel. CONSULTAI I getgid(2), setegid(2), setregid(2), capabilities(7), credentials(7), user_namespaces(7) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.06 31 octombrie 2023 setgid(2)