Provided by: manpages-de-dev_0.5-4.1ubuntu1_all bug

BEZEICHNUNG

       setresuid,  setresgid  -  setzt  die reelle, effektive und gespeicherte
       Benutzer- oder Gruppenidentität

ÜBERSICHT

       #include <unistd.h>

       int setresuid(uid_t ruid, uid_t euid, uid_t suid);
       int setresgid(gid_t rgid, gid_t egid, gid_t sgid);

BESCHREIBUNG

       setresuid  und  setresgid  ändern  die  wirkliche,  effektive  und  die
       gespeicherte Benutzer- oder Gruppenidentität des aktuellen Prozesses.

       Unprivilegierte Prozesse eines Benutzers (wenn die wirkliche, effektive
       und gespeicherte Identität nicht 0 ist) können die wirkliche, effektive
       und  gespeicherte  Benutzeridentität  jeweils  zu  einem  der Folgenden
       ändern: aktuelle uid, aktuelle effektive uid oder aktuelle gespeicherte
       uid.   Das  bedeutet  also,  dass  Prozesse die nicht root gehören, die
       Identität auf ihre eigenen, nicht aber auf die eines anderen  Benutzers
       (oder gar root) setzen können.

       Der  super-user  (root)  kann die wirkliche, effektive und gespeicherte
       Benutzeridentität auf beliebige Werte setzen.

       Ist  einer  der  Parameter  -1,  bleibt  der  entsprechende  Wert  (die
       dazugehörige Identität) unverändert.

       setresgid    ändert   die   wirkliche,   effektive   und   gespeicherte
       Gruppenidentität des aktuellen Prozesses mit  den  Einschränkungen  der
       wirklichen, effektiven und gespeicherten Benutzeridentität (falls nicht
       0).

RÜCKGABEWERT

       Bei Erfolg wird 0 zurück gegeben.  Bei Fehlern  wird  -1  zurückgegeben
       und errno entsprechend gesetzt.

FEHLER

       EPERM  Der  Prozess  hat nicht die benötigten Rechte, versucht aber die
              IDs zu ändern.

KONFORM ZU

       Diese Funktionen sind Linuxspezifisch.

GESCHICHTE

       Diese Systemaufrufe wurden zuerst in HP-UX eingeführt.  Sie stehen seit
       Linux  2.1.44  auch  unter Linux zur Verfügung.  Inzwischen gibt es sie
       ebenfalls in FreeBSD (zur Emulierung von Linux-Programmen).

BEMERKUNGEN

       Unter HP-UX und FreeBSD befinden sich  die  Prototypen  in  <unistd.h>.
       Unter  Linux gibt es bisher keine Include-Datei für die Prototypen, das
       ist ein Problem in  der  glibc.   Programme,  die  diese  Systemaufrufe
       verwenden  möchten, müssen die Prototypen selbst zur Verfügung stellen.

SEE ALSO

       getuid(2), setuid(2), setreuid(2), getresuid(2), getreuid(2).

                                26. August 2002                   SETRESUID(2)