SETREUID(2)

NAME
setreuid, seteuid - setze reale und/oder effektive Benutzerkennung

ÜBERSICHT
#include <unistd.h>

int setreuid(uid_t ruid, uid_t euid);
int seteuid(uid_t euid);

BESCHREIBUNG
setreuid setzt die reale und effektive Benutzerkennung des aktuellen Prozesses. Unprivilegierte Benutzer dürfen die reale Benutzerkennung auf die effektive Benutzerkennung ändern und umgekehrt. Seit 1.1.38 ist es auch möglich, die effektive Benutzerkennung aus der gesicherten Benutzerkennung zu setzen. Nur der Superuser darf andere Änderungen vornehmen. Angeben des Wertes -1 für entweder die reale oder effektive Benutzerkennung weist das System an, diese Kennung unverändert zu lassen. Im Moment (libc-4.x.x) ist seteuid(euid) funktionell äquivalent zu setreuid(-1, euid). Wenn die reale Benutzerkennung geändert wird, oder wenn die effektive Benutzerkennung auf einen Wert gesetzt wird, der nicht gleich der vorherigen realen Benutzerkennung ist, so wird die gesicherte Benutzerkennung auf die neue effektive Benutzerkennung gesetzt.

RÜCKGABEWERT
Bei Erfolg wird Null zurückgegeben. Im Fehlerfall wird -1 zurückgegeben und errno entsprechend gesetzt.

FEHLER

EPERM
    Der aktuelle Prozeß gehört nicht dem Superuser und eine andere Änderung als (i) Vertauschen der effektiven mit der realen Benutzerkennung oder (ii) Setzen einer dieser auf den Wert den anderen oder (iii) Setzen der effektiven Benutzerkennung auf den Wert der gesicherten Benutzerkennung wurde angestrebt.

GESCHICHTE
Die Funktion setregid erschien in BSD 4.2.

KONFORM ZU
BSD 4.3

SIEHE AUCH
getuid(2), setuid(2).