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