table of contents
SETREUID(2) | Podręcznik programisty Linuksa | SETREUID(2) |
NAZWA¶
setreuid, seteuid - ustawienie rzeczywistego i/lub efektywnego ID użytkownika lub grupy
SKŁADNIA¶
#include <sys/types.h>
#include <unistd.h>
int setreuid(uid_t ruid, uid_t
euid);
int setregid(gid_t rgid, gid_t egid);
OPIS¶
setreuid ustawia rzeczywisty i efektywny identyfikator użytkownika bieżącego procesu. Nieuprzywilejowani użytkownicy mogą ustawić rzeczywisty ID użytkownika na podstawie rzeczywistego lub efektywnego ID użytkownika, lub efektywny ID użytkownika na podstawie rzeczywistego, efektywnego lub zachowanego ID użytkownika.
Podanie wartości -1 dla rzeczywistego lub efektywnego ID użytkownika wymusza na systemie pozostawienie tego ID niezmienionym.
Jeśli rzeczywisty lub efektywny ID użytkownika jest ustawiany na wartość różną od poprzedniego rzeczywistego ID użytkownika, to zachowanemu ID użytkownika zostanie nadana wartość nowego efektywnego ID użytkownika.
Zupełnie analogicznie setregid ustawia rzeczywisty i efektywny identyfikator grupy bieżącego procesu, a wszystko powyżej nadal obowiązuje po zmianie słowa "użytkownik" na "grupa".
WARTOŚĆ ZWRACANA¶
Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest -1 i odpowiednio ustawiane errno.
BŁĘDY¶
- EPERM
- Proces nie jest procesem superużytkownika, a zażądano zmian innych niż (i) zamiana efektywnego ID użytkownika (grupy) z rzeczywistym lub (ii) ustawienie jednej z tych wartości na podstawie drugiej, lub (iii) ustawienie efektywnego ID użytkownika (grupy) na podstawie wartości zachowanego ID użytkownika (grupy).
UWAGI¶
Ustawianie efektywnego ID użytkownika (grupy) na podstawie zachowanego ID jest możliwe poczynając od wersji Linuksa 1.1.37 (1.1.38).
HISTORIA¶
Funkcja setreuid pojawiła się w BSD 4.2.
ZGODNE Z¶
BSD 4.3 (funkcje setreuid i setregid pojawiły się pierwotnie w 4.2BSD).
ZOBACZ TAKŻE¶
getuid(2), getgid(2), setuid(2), setgid(2), seteuid(2), setresuid(2)
1994-08-02 | Linux 1.1.38 |