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>.

Linux                                             23. Juli 2015                                        SETGID(2)