Provided by: manpages-de-dev_1.4-1_all bug

BEZEICHNUNG

       setreuid, seteuid - reale und/oder effektive Benutzer- oder Gruppen-ID setzen

ÜBERSICHT

       #include <sys/types.h>
       #include <unistd.h>

       int setreuid(uid_t ruid, uid_t euid);
       int setregid(gid_t rgid, gid_t egid);

   Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

       setreuid(), setregid():
           _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

BESCHREIBUNG

       setreuid() setzt die reale und effektive Benutzer-ID des aufrufenden Prozesses.

       Wird  ein Wert von -1 für entweder die reale oder effektive Benutzer-ID angegeben, so wird
       erzwungen, dass diese ID unverändert bleibt.

       Unprivilegierte Prozesse dürfen die effektive Benutzer-ID nur auf die reale, die effektive
       oder die gespeicherte gesetzte Benutzer-ID setzen.

       Unprivilegierte  Benutzer  dürfen nur die reale Benutzer-ID auf die reale Benutzer-ID oder
       die effektive Benutzer-ID setzen.

       If the real user ID is set or the effective user ID is set to a value  not  equal  to  the
       previous real user ID, the saved set-user-ID will be set to the new effective user ID.

       Vollkommen  analog setzt setregid() die reale und die effektive Gruppen-ID des aufrufenden
       Prozesses und alles oben gesagte bleibt gültig, wenn »Gruppe« anstatt »Benutzer«  verwandt
       wird.

RÜCKGABEWERT

       Bei  Erfolg  wird  Null  zurückgegeben.  Bei  einem Fehler wird -1 zurückgegeben und errno
       entsprechend gesetzt.

FEHLER

       EPERM  Der aufrufende Prozess ist nicht privilegiert (Linux: hat im  Fall  von  setreuid()
              nicht   die   CAP_SETUID-Capability   oder   im   Fall  von  setregid()  nicht  die
              CAP_SETGID-Capability) und eine andere Änderung als (i) Vertauschen der  effektiven
              mit  der  realen Benutzer-ID oder (ii) Setzen einer dieser auf den Wert den anderen
              oder (iii)  Setzen  der  effektiven  Benutzer-ID  (Gruppen-ID)  auf  den  Wert  der
              gesicherten Benutzer-ID wurde angestrebt.

KONFORM ZU

       POSIX.1-2001,  4.3BSD (die Funktionsaufrufe setreuid() und setregid() erschienen erstmalig
       in 4.2BSD).

ANMERKUNGEN

       Das  Setzen  der  effektiven  Benutzer-ID  (Gruppen-ID)  auf  die  gesicherte  Benutzer-ID
       (Gruppen-ID) ist möglich seit Linux  1.1.37 (1.1.38).

       POSIX.1  beschreibt  nicht  alle  möglichen ID-Änderungen, die unter Linux für einen nicht
       privilegierten Prozess zulässig sind. Für setreuid() kann die  effektive  Benutzer-ID  auf
       den  Wert  der realen Benutzer-ID oder die gespeicherte Set-User-ID gesetzt werden. Es ist
       nicht spezifiziert, ob unprivilegierte  Prozesse  die  reale  Benutzer-ID  auf  die  reale
       Benutzer-ID  [sic],  die  effektive  Benutzer-ID  oder die gespeicherte Set-User-ID setzen
       dürfen.  Für  setregid()  kann  die  reale  Gruppen-ID  auf  den  Wert  der  gespeicherten
       Set-Group-ID  geändert  werden  und  die effektive Gruppen-ID kann auf den Wert der realen
       Gruppen-ID  oder der gespeicherten Set-Group-ID  geändert  werden.  Die  genauen  Details,
       welche ID-Änderungen zulässig sind, unterscheiden sich implementierungsabhängig.

       POSIX.1  macht  keine  Angaben  zum  Effekt dieser Aufrufe auf die gespeicherten Werte von
       Set-User-ID und Set-Group-ID.

       Die  ursprünglichen  Linux-Systemaufrufe  setreuid()  und  setregid()  unterstützten   nur
       16-Bit-Benutzer-   und   Gruppen-IDs.   Entsprechend  fügte  Linux  2.4  setreuid32()  und
       setregid32() hinzu, die 32-Bit-IDs unterstützen.  Die  Wrapper-Funktionen  setreuid()  und
       setregid() von Glibc gehen damit transparent über Kernelversionen hinweg um.

SIEHE AUCH

       getgid(2), getuid(2), seteuid(2), setgid(2), setresuid(2), setuid(2), capabilities(7)

KOLOPHON

       This  page  is  part  of release 3.54 of the Linux man-pages project. A description of the
       project,    and    information    about    reporting    bugs,    can    be    found     at
       http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die  deutsche  Übersetzung  dieser  Handbuchseite wurde von Patrick Rother <krd@gulu.net>,
       Helge    Kreutzmann     <debian@helgefjell.de>     und     Martin     Eberhard     Schauer
       <Martin.E.Schauer@gmx.de> erstellt.

       Diese  Übersetzung  ist  Freie  Dokumentation;  lesen  Sie  die GNU General Public License
       Version  3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE   HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.