Scroll to navigation

seteuid(2) System Calls Manual seteuid(2)

NUME

seteuid, setegid, setegid - stabilește ID-ul efectiv al utilizatorului sau al grupului

BIBLIOTECA

Biblioteca C standard (libc, -lc)

REZUMAT

#include <unistd.h>
int seteuid(uid_t euid);
int setegid(gid_t egid);

Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

seteuid(), setegid():


_POSIX_C_SOURCE >= 200112L
|| /* glibc <= 2.19: */ _BSD_SOURCE

DESCRIERE

seteuid() stabilește ID-ul de utilizator efectiv al procesului apelant. Procesele neprivilegiate pot stabili ID-ul efectiv al utilizatorului doar la ID-ul real al utilizatorului, la ID-ul efectiv al utilizatorului sau la ID-ul salvat de set-user-ID.

Exact același lucru este valabil pentru setegid() cu „grup” în loc de „utilizator”.

VALOAREA RETURNATĂ

În caz de succes, se returnează zero. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.

Notă: există cazuri în care seteuid() 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 seteuid().

ERORI-IEȘIRE

ID-ul utilizatorului sau al grupului țintă nu este valabil în acest spațiu de nume de utilizator.
În cazul seteuid(): procesul apelant nu este privilegiat (nu are capacitatea CAP_SETUID în spațiul său de nume de utilizator), iar euid nu se potrivește cu ID-ul real actual al utilizatorului, cu ID-ul efectiv actual al utilizatorului sau cu ID-ul actual salvat al set-user-ID.
În cazul setegid(): procesul de apelare nu este privilegiat (nu are capacitatea CAP_SETGID în spațiul său de nume de utilizator) și egid nu corespunde ID-ului de grup real curent, ID-ului de grup efectiv curent sau ID-ului de grup salvat curent.

VERSIUNI

Setting the effective user (group) ID to the saved set-user-ID (saved set-group-ID) is possible since Linux 1.1.37 (1.1.38). On an arbitrary system one should check _POSIX_SAVED_IDS.

În glibc 2.0, seteuid(euid) este echivalent cu setreuid(-1, euid) și, prin urmare, poate modifica set-user-ID salvat. În glibc 2.1 și ulterior, este echivalent cu setresuid(-1, euid, -1) și, prin urmare, nu modifică set-user-ID salvat. Observații analoge sunt valabile pentru setegid(), cu diferența că modificarea implementării de la setregid(-1, egid) la setresgid(-1, egid, -1) a avut loc în glibc 2.2 sau 2.3 (în funcție de arhitectura mașinii).

În conformitate cu POSIX.1, seteuid() (setegid()) nu trebuie să permită ca euid (egid) să aibă aceeași valoare ca ID-ul efectiv al utilizatorului (grupului) curent, iar unele implementări nu permit acest lucru.

Diferențe între biblioteca C și nucleu

În Linux, seteuid() și setegid() sunt implementate ca funcții de bibliotecă care apelează, respectiv, setreuid(2) și setregid(2).

STANDARDE

POSIX.1-2008.

ISTORIC

POSIX.1-2001, 4.3BSD.

CONSULTAȚI ȘI

geteuid(2), setresuid(2), setreuid(2), setuid(2), capabilities(7), credentials(7), user_namespaces(7)

TRADUCERE

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

30 martie 2023 Pagini de manual de Linux 6.05.01