setreuid

Autres langues

Langue: pl

Autres versions - même langue

Version: 1994-08-02 (openSuse - 09/10/07)

Section: 2 (Appels système)

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)