Provided by: manpages-de-dev_4.21.0-2_all bug

BEZEICHNUNG

       setfsgid - Gruppenidentität für Dateisystemprüfungen setzen

BIBLIOTHEK

       Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

       #include <sys/fsuid.h>

       int setfsgid(gid_t dsgid);

BESCHREIBUNG

       Unter Linux hat ein Prozess sowohl eine Dateisystemgruppenkennung als auch eine effektive Gruppenkennung.
       Die  (Linux-spezifische)  Dateisystemgruppenkennung  wird  für  die Berechtigungsprüfung beim Zugriff auf
       Dateisystemobjekte   verwandt,   während   die   effektive   Gruppenkennung   für   andere   Arten    von
       Berechtigungsprüfungen verwandt wird (siehe credentials(7)).

       Normalerweise  ist  der  Wert  der  Dateisystemgruppenkennung  des Prozesses identisch zu dem Wert seiner
       effektiven Gruppenkennung. Dies kommt daher, dass der Kernel auch die  Dateisystemgruppenkennung  zu  dem
       gleichen  Wert  der  effektiven  Gruppenkennung  ändert,  wenn  sich  die  effektive Gruppenkennung eines
       Prozesses  ändert.  Mittels  setfsgid()  kann  ein  Prozess  veranlassen,  dass  sich  der  Wert   seiner
       Dateisystemgruppenkennung  von  dem Wert seiner effektiven Gruppenkennung unterscheidet, womit dieser den
       Wert der Dateisystemgruppenkennung auf den in dsgid angegeben Wert ändert.

       setfsgid() wird nur erfolgreich sein, falls der Aufrufende der Superuser ist oder wenn dsgid entweder der
       realen Gruppenkennung des Aufrufenden, der effektiven  Gruppenkennung,  der  gesicherten  SGID  oder  der
       aktuellen Dateisystembenutzerkennung entspricht.

RÜCKGABEWERT

       Sowohl    im    Erfolgs-   wie   auch   im   Fehlerfall   liefert   dieser   Aufruf   die   vorhergehende
       Dateisystem-Gruppenkennung des Aufrufenden zurück.

VERSIONEN

       Dieser Systemaufruf ist in Linux seit Version 1.2 vorhanden.

STANDARDS

       setfsgid ist Linux-spezifisch und sollte nicht in portierbaren Programmen benutzt werden.

ANMERKUNGEN

       Das Konzept der  Dateisystemgruppenkennung  und  der  Systemaufruf  setfsgid()  wurden  aus  historischen
       Gründen,  die  auf  modernen Linux-Kerneln nicht mehr zutreffen, erfunden. Lesen Sie setfsuid(2) für eine
       Abhandlung, warum die Verwendung von sowohl setfsuid(2) als auch  setfsgid()  heutzutage  nicht  benötigt
       wird.

       Der  Original-Linux-Systemaufruf  setfsgid()  unterstützte nur 16-Bit-Gruppenkennungen. Nachfolgend fügte
       Linux 2.4 setfsgid32() hinzu, das 32-Bit-Kennungen unterstützte.  Die  Glibc-Wrapper-Funktion  setfsgid()
       stellt die Änderungen transparent über Kernel-Versionen hinweg bereit.

   Unterschiede C-Bibliothek/Kernel
       Wenn  der  Wrapper für diesen Systemaufruf unter Glibc 2.15 und älter feststellt, dass das Argument nicht
       ohne  Ganzzahlschnitt  an  den  Kernel  übergeben  werden  kann  (weil  der  Kernel  alt  ist  und  keine
       32-Bit-Gruppenkennungen   unterstützt),   wird  -1  zurückgegeben  und  errno  auf  EINVAL  gesetzt.  Der
       Systemaufruf unterbleibt.

FEHLER

       Es werden keine Anhaltspunkte für Fehler an den Aufrufenden zurückgegeben und die Tatsache,  dass  sowohl
       erfolgreiche  als auch nicht erfolgreiche Aufrufe den selben Wert zurückgeben, macht es unmöglich, direkt
       zu bestimmen, ob der Aufruf erfolgreich war oder fehlschlug. Stattdessen musste der  Aufrufende  auf  die
       Betrachtung  des  Rückgabewerts  eines  weiteren  Prozesses  wie  setfsgid(-1)  zurückgreifen  (der immer
       fehlschlägt), um zu bestimmen, ob ein vorheriger Aufruf von setfsgid() die Dateisystemgruppen-ID geändert
       hat. Zumindest sollte EPERM zurückgegeben werden, wenn der Aufruf fehlschlägt  (da  dem  Aufrufenden  die
       CAP_SETGID-Capability fehlt).

SIEHE AUCH

       kill(2), setfsuid(2), capabilities(7), credentials(7)

ÜBERSETZUNG

       Die  deutsche  Übersetzung  dieser  Handbuchseite  wurde  von  Patrick Rother <krd@gulu.net>, Chris Leick
       <c.leick@vollbio.de>,    Helge    Kreutzmann     <debian@helgefjell.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  die
       Mailingliste der Übersetzer.

Linux man-pages 6.03                            4. Dezember 2022                                     setfsgid(2)