setfsgid(2) System Calls Manual setfsgid(2) BEZEICHNUNG setfsgid - Gruppenidentitat fur Dateisystemprufungen setzen BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include [[veraltet]] int setfsgid(gid_t fsgid); BESCHREIBUNG Unter Linux hat ein Prozess sowohl eine Dateisystemgruppenkennung als auch eine effektive Gruppenkennung. Die (Linux-spezifische) Dateisystemgruppenkennung wird fur die Berechtigungsprufung beim Zugriff auf Dateisystemobjekte verwandt, wahrend die effektive Gruppenkennung fur andere Arten von Berechtigungsprufungen 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 andert, wenn sich die effektive Gruppenkennung eines Prozesses andert. 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 andert. 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. RUCKGABEWERT Sowohl im Erfolgs- wie auch im Fehlerfall liefert dieser Aufruf die vorhergehende Dateisystem-Gruppenkennung des Aufrufenden zuruck. STANDARDS Linux. GESCHICHTE Linux 1.2. Unterschiede C-Bibliothek/Kernel Wenn der Wrapper fur diesen Systemaufruf unter Glibc 2.15 und alter feststellt, dass das Argument nicht ohne Ganzzahlschnitt an den Kernel ubergeben werden kann (weil der Kernel alt ist und keine 32-Bit-Gruppenkennungen unterstutzt), wird -1 zuruckgegeben und errno auf EINVAL gesetzt. Der Systemaufruf unterbleibt. ANMERKUNGEN Das Konzept der Dateisystemgruppenkennung und der Systemaufruf setfsgid() wurden aus historischen Grunden, die auf modernen Linux-Kerneln nicht mehr zutreffen, erfunden. Lesen Sie setfsuid(2) fur eine Abhandlung, warum die Verwendung von sowohl setfsuid(2) als auch setfsgid() heutzutage nicht benotigt wird. Der Original-Linux-Systemaufruf setfsgid() unterstutzte nur 16-Bit-Gruppenkennungen. Nachfolgend fugte Linux 2.4 setfsgid32() hinzu, das 32-Bit-Kennungen unterstutzte. Die Glibc-Wrapper-Funktion setfsgid() stellt die Anderungen transparent uber Kernel-Versionen hinweg bereit. FEHLER Es werden keine Anhaltspunkte fur Fehler an den Aufrufenden zuruckgegeben und die Tatsache, dass sowohl erfolgreiche als auch nicht erfolgreiche Aufrufe den selben Wert zuruckgeben, macht es unmoglich, direkt zu bestimmen, ob der Aufruf erfolgreich war oder fehlschlug. Stattdessen musste der Aufrufende auf die Betrachtung des Ruckgabewerts eines weiteren Prozesses wie setfsgid(-1) zuruckgreifen (der immer fehlschlagt), um zu bestimmen, ob ein vorheriger Aufruf von setfsgid() die Dateisystemgruppen-ID geandert hat. Zumindest sollte EPERM zuruckgegeben werden, wenn der Aufruf fehlschlagt (da dem Aufrufenden die CAP_SETGID-Capability fehlt). SIEHE AUCH kill(2), setfsuid(2), capabilities(7), credentials(7) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Patrick Rother , Chris Leick , Helge Kreutzmann und Mario Blattermann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.8 2. Mai 2024 setfsgid(2)