table of contents
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)
SINOPSIS¶
#include <unistd.h>
int seteuid(uid_t euid); int setegid(gid_t egid);
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¶
- EINVAL
- ID-ul utilizatorului sau al grupului țintă nu este valabil în acest spațiu de nume de utilizator.
- EPERM
- Î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, setresuid(2) și setresgid(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.
2 mai 2024 | Pagini de manual Linux (nepublicate) |