Scroll to navigation

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

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