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

BEZEICHNUNG

       setgid - setzt die Gruppenidentität (GID)

ÜBERSICHT

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

       int setgid(gid_t gid);

BESCHREIBUNG

       setgid()  setzt  die  effektive  Gruppen-ID des aufrufenden Prozesses. Wird diese Funktion
       durch den Superuser (mit der CAP_SETGID-Capability) aufgerufen, werden auch die reale  und
       die gesicherte Gruppen-ID gesetzt.

       Unter   Linux   ist  setgid()  wie  die  POSIX-Version  mit  dem  _POSIX_SAVED_IDS-Merkmal
       implementiert. Das ermöglicht einem setgid-Programm, das nicht  vom  Superuser  aufgerufen
       wurde,  alle  seine  Gruppenprivilegien  abzugeben, einige nicht privilegierte Arbeiten zu
       erledigen und dann auf sichere Art und Weise weiter die ursprüngliche effektive Gruppen-ID
       zu nutzen.

RÜCKGABEWERT

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

FEHLER

       EINVAL Die in gid angegebene Gruppen-ID ist in diesem Benutzer-Namensraum unzulässig.

       EPERM  Der  aufrufende  Prozess  ist  nicht   privilegiert   (verfügt   nicht   über   die
              CAP_SETGID-Capability)  und  gid  entspricht  nicht  der realen Gruppen-ID oder der
              gespeicherten »set-group«-ID des aufrufenden Prozesses.

KONFORM ZU

       POSIX.1-2001, POSIX.1-2008, SVr4.

ANMERKUNGEN

       Der ursprüngliche setgid()-Systemaufruf unterstützte nur 16-Bit-Gruppen-IDs. Danach führte
       Linux 2.4 mit setgid32() die Unterstützung für 32-Bit-IDs hinzu. Die Glibc-Wrapperfunktion
       setgid() behandelt die Unterschiede zwischen den Kernel-Versionen transparent.

   Unterschiede C-Bibliothek/Kernel
       At the kernel level, user IDs and group IDs are a  per-thread  attribute.  However,  POSIX
       requires  that  all  threads  in  a process share the same credentials. The NPTL threading
       implementation handles the POSIX requirements  by  providing  wrapper  functions  for  the
       various system calls that change process UIDs and GIDs. These wrapper functions (including
       the one for setgid())  employ a signal-based technique to  ensure  that  when  one  thread
       changes  credentials,  all  of  the  other  threads  in  the  process  also  change  their
       credentials. For details, see nptl(7).

SIEHE AUCH

       getgid(2), setegid(2), setregid(2), capabilities(7), credentials(7), user_namespaces(7)

KOLOPHON

       Diese Seite  ist  Teil  der  Veröffentlichung  4.04  des  Projekts  Linux-man-pages.  Eine
       Beschreibung  des  Projekts,  Informationen,  wie  Fehler gemeldet werden können sowie die
       aktuelle Version dieser Seite finden sich unter http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die   deutsche   Übersetzung    dieser    Handbuchseite    wurde    von    Stefan    Janke
       <gonzo@burg.studfb.unibw-muenchen.de>,  Martin  Eberhard Schauer <Martin.E.Schauer@gmx.de>
       und Mario Blättermann <mario.blaettermann@gmail.com> 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>.