setuid

SETUID(2)                         Systemaufrufe                        SETUID(2)



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 Prozeß 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).



Linux 1.1.36                     19. August 1996                       SETUID(2)