Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

fchown - Eigentümer oder Gruppe einer Datei ändern

&pagelevel(4)&pagelevel

Definition

#include <unistd.h>

int fchown(int fildes, uid_t owner, gid_t group);

Beschreibung

fchown() ändert ebenso wie chown() die Benutzernummer und die Gruppennummer der angesprochenen Datei, außer dass die Datei nicht durch den Pfadnamen, sondern durch den Dateideskriptor fildes bezeichnet wird. Die Benutzernummer wird auf owner, die Gruppennummer auf group gesetzt. Wenn owner oder group mit -1 spezifiziert ist, wird die der Datei zugehörige ID nicht geändert.

Wenn fchown() von einem Prozess ohne Sonderrechte aufgerufen wird, dann wird das Bit zum Setzen der Benutzer- und Gruppennummer bei Ausführung, beziehungsweise S_I-SUID und S_ISGID, gelöscht (siehe chmod()). Die effektive Benutzernummer des Prozesses muss die des Eigentümers der Datei sein oder der Prozess muss Sonderrechte haben, um den Besitz der Datei zu ändern.

Bei erfolgreicher Beendigung markiert fchown() das Feld st_ctime der Datei zum Aktualisieren.

Returnwert

0

bei Erfolg. Benutzer- und Gruppennummer der angegebenen Datei sind entsprechend gesetzt.

 

-1

bei Fehler. Benutzer- und Gruppennnummer der Datei werden nicht geändert. errno wird gesetzt, um den Fehler anzuzeigen.

Fehler

fchown() schlägt fehl, wenn gilt:


EABDF

fildes verweist nicht auf eine offene Datei.

 

EINTR

Ein Signal wurde während des Systemaufrufs abgefangen.

 

EINVAL

Es wurde versucht, auf eine BS2000-Datei zuzugreifen.

group oder owner sind außerhalb des zulässigen Bereichs.

 

EIO

Es trat während des Lesens oder Schreibens im Dateisystem ein Ein- oder Ausgabefehler auf.

 

EPERM

Die Benutzernummer entspricht nicht dem Eigentümer der Datei, oder der Prozess ist nicht entsprechend privilegiert.

 

EROFS

Die Datei steht in einem schreibgeschützten Dateisystem.

Hinweis

fchown() wird nur für POSIX-Dateien ausgeführt.

Siehe auch

chmod(), chown(), unistd.h.