Provided by:
manpages-de-dev_0.5-2ubuntu1_all 
BEZEICHNUNG
setuid - setzen der Benutzeridentität
ÜBERSICHT
#include <unistd.h>
int setuid(uid_t uid)
BESCHREIBUNG
setuid setzt die effektive Benutzer-ID des aktuellen Prozesses. Wird
diese Funktion durch den Superuser aufgerufen, so wird die reale und
die gesicherte ID auch gesetzt.
Unter Linux ist setuid wie unter SYSV mit SAVE_IDS implementiert.
Dieses erlaubt einem setuid-Programm (nicht setuser root) alle
Privilegien des entsprechenden Benutzer abzugeben, um unpriviligierte
Arbeiten zu verrichten, und um danach wieder die orginale effektive
Benutzer-ID zu bekommen, dies erfolgt alles auf eine sichere Art und
Weise.
Wenn der Benutzer root oder das Programm setuid root ist, ist besondere
Sorgfalt notwendig. Die Funktion setuid überprüft die effektive uid
(Benutzer-ID) des Aufrufers und handelt es sich dabei um den Superuser,
so werden alle diesen Prozess betreffenden Benutzer-ID auf uid gesetzt.
Nachdem dies geschehen ist, ist es für das Programm unmöglich,
Superuser-Privilegien wiederzuerlangen.
RÜCKGABEWERT
War der Funktionsaufruf erfolgreich, so wird 0 zurückgeliefert. Im
Fehlerfall wird -1 zurückgegeben und errno wird entsprechend gesetzt.
FEHLER
EPERM Der Benutzer ist nicht der Superuser und uid entspricht nicht
der effektiven oder gesicherten ID des aufrufenden Prozesses.
KONFORM ZU
System V
SIEHE AUCH
getuid(2), setreuid(2), seteuid(2).