BEZEICHNUNG¶
setfsuid - Benutzeridentität für Dateisystemprüfungen setzen
ÜBERSICHT¶
#include <unistd.h> /* Glibc benutzt <sys/fsuid.h> */
int setfsuid(uid_t fsuid);
BESCHREIBUNG¶
Der Systemaufruf
setfsuid() setzt die Benutzer-ID, die der Linux-Kernel
bei der Prüfung aller Dateisystemzugriffe benutzt. Normalerweise stimmt
der Wert von
fsuid mit der effektiven Benutzer-ID überein.
Jedenfalls wird immer, wenn die effektive Benutzer-ID geändert wird, auch
fsuid auf den neuen Wert der effektiven Benutzer-ID geändert.
Explizite Aufrufe von
setfsuid() und
setfsgid(2) werden
gewöhnlich nur von Programmen wie dem Linux-NFS-Server benutzt. Sie
müssen die für Dateizugriffe verwendete Benutzer- und Gruppen-ID
ändern, ohne die reale oder effektive Gruppen-ID zu ändern. Eine
Änderung der normalen Benutzer-IDs bei Programmen wie dem NFS-Server ist
eine Sicherheitslücke, die es unerwünschten Signalen aussetzen kann.
(Aber lesen sie nachstehendes.)
setfsuid() wird nur erfolgreich sein, wenn der Aufrufende der Superuser
ist oder wenn
fsuid entweder der realen, effektiven Benutzer-ID, der
gesicherten SUID oder dem aktuellen Wert von
fsuid entspricht.
RÜCKGABEWERT¶
Bei Erfolg wird der frühere Wert von
fsuid zurückgegeben. Im
Fehlerfall wird der aktuelle Wert von
fsuid zurückgegeben.
VERSIONEN¶
Dieser Systemaufruf ist in Linux seit Version 1.2 vorhanden.
setfsuid ist Linux-spezifisch und sollte nicht in portierbaren Programmen
benutzt werden.
ANMERKUNGEN¶
Wenn Glibc feststellt, dass das Argument keine gültige Benutzer-ID ist,
wird -1 zurückgegeben und
errno auf
EINVAL gesetzt. Der
Systemaufruf unterbleibt.
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.
Der Original-Linux-Systemaufruf
setfsuid() unterstützte nur
16-Bit-Benutzer-IDs. Nachfolgend fügte Linux 2.4
setfsuid32()
hinzu, das 32-Bit-IDs unterstützte. Die Glibc-Wrapper-Funktion
setfsuid() stellt die Änderungen transparent über
Kernel-Versionen hinweg bereit.
FEHLER¶
Dem Aufrufenden wird keine Fehlermeldung zurückgegeben. Zumindest sollte
EPERM zurückgegeben werden, wenn der Aufruf fehlschlägt (weil
es dem Aufrufenden an der Fähigkeit
CAP_SETUID mangelt).
SIEHE AUCH¶
kill(2),
setfsgid(2),
capabilities(7),
credentials(7)
KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux-
man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler
gemeldet werden können, finden sich unter
http://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>.