Provided by: manpages-de-dev_2.14-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 Dateisystemgruppenkennung des Aufrufenden
       – der Gruppenkennung, die der Linux-Kernel zum Prüfen aller Zugriffe auf  das  Dateisystem
       benutzt.  Normalerweise  wird  der  Wert  der  Gruppenkennung  des  Dateisystems  mit  der
       effektiven Gruppenkennung  übereinstimmen.  Jedenfalls  wird  immer,  wenn  die  effektive
       Gruppenkennung  geändert wird, auch die Gruppenkennung des Dateisystems auf den neuen Wert
       der effektiven Gruppenkennung 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
       Gruppenkennungen ändern müssen, die für Dateizugriffe benutzt werden ohne die  reale  oder
       effektive  Gruppenkennung  zu  ändern.  Eine  Änderung  der normalen Benutzerkennungen bei
       Programmen wie dem NFS-Server ist eine Sicherheitslücke, die es unerwünschten Signalen von
       anderen Gruppenkennungen aussetzen kann. (Aber lesen Sie Nachstehendes.)

       setfsgid()  wird  nur  erfolgreich  sein, falls der Aufrufende der Superuser ist oder wenn
       fsgid 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.

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 Benutzerkennung 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-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)

KOLOPHON

       Diese  Seite  ist  Teil  der  Veröffentlichung  4.16  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>,
       Chris Leick <c.leick@vollbio.de> und Helge Kreutzmann <debian@helgefjell.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>.