Provided by: manpages-de-dev_2.5-1_all bug

BEZEICHNUNG

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

ÜBERSICHT

       #include <sys/fsuid.h>

       int setfsgid(uid_t fsgid);

BESCHREIBUNG

       Der  Systemaufruf  setfsgid() ändert den Wert der Dateisystemgruppen-ID des Aufrufenden – der Gruppen-ID,
       die der Linux-Kernel zum Prüfen aller Zugriffe auf das Dateisystem benutzt. Normalerweise wird  der  Wert
       der Gruppen-ID des Dateisystems mit der effektiven Gruppen-ID übereinstimmen. Jedenfalls wird immer, wenn
       die  effektive  Gruppen-ID  geändert  wird,  auch  die Gruppen-ID des Dateisystems auf den neuen Wert der
       effektiven Gruppen-ID geändert.

       Explizite  Aufrufe  von  setfsgid(2)  und  setfsgid()  werden  gewöhnlich  nur  von  Programmen  wie  dem
       Linux-NFS-Server  benutzt,  die  die für Dateizugriffe benutzten Benutzer- und Gruppen-IDs ändern müssen,
       die für Dateizugriffe benutzt werden ohne die reale oder effektive Gruppen-ID zu  ändern.  Eine  Änderung
       der   normalen  Benutzer-ID  bei  Programmen  wie  dem  NFS-Server  ist  eine  Sicherheitslücke,  die  es
       unerwünschten Signalen von anderen Gruppen-IDs aussetzen kann. (Aber lesen Sie Nachstehendes.)

       setfsgid() wird nur erfolgreich sein, falls der Aufrufende der Superuser ist oder wenn fsgid entweder der
       Gruppen-ID  des  Aufrufenden,  der  effektiven  Gruppen-ID,  der  gesicherten  SGID  oder  der  aktuellen
       Dateisystembenutzer-ID entspricht.

RÜCKGABEWERT

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

VERSIONEN

       Dieser Systemaufruf ist in Linux seit Version 1.2 vorhanden.

KONFORM ZU

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

ANMERKUNGEN

       Beachten Sie, dass ein Prozess zu der Zeit, als dieser Systemaufruf eingeführt wurde, ein Signal zu einem
       Prozess mit der gleichen effektiven  Benutzer-ID  senden  konnte.  Heute  ist  die  Rechtebehandlung  von
       Signalen  etwas  anders.  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-Gruppen-IDs. Nachfolgend  fügte  Linux
       2.4  setfsgid32()  hinzu,  das  32-Bit-IDs 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-Gruppen-IDs 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)

KOLOPHON

       Diese Seite ist Teil der Veröffentlichung  4.15  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 https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die  deutsche  Übersetzung  dieser  Handbuchseite wurde von Patrick Rother <krd@gulu.net> und Chris Leick
       <c.leick@vollbio.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>.

Linux                                          15. September 2017                                    SETFSGID(2)