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
Uwaga! To tłumaczenie może być nieaktualne!

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)

INFORMACJE O TŁUMACZENIU
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:

    man --locale=C 2 setreuid

Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.