Provided by:
manpages-de-dev_0.10-1_all 
BEZEICHNUNG
chown, fchown, lchown - Besitzverhaltnisse einer Datei andern
Diese Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen Sie
die englischsprachige Handbuchseite zu Rate, indem Sie
man -LC 2 chown
eingeben.
"UBERSICHT
#include <sys/types.h>
#include <unistd.h>
int chown(const char *path, uid_t owner, gid_t group);
int fchown(int fd, uid_t owner, gid_t group);
int lchown(const char *path, uid_t owner, gid_t group);
BESCHREIBUNG
Die Besitzverhaltnisse der Datei, die durch path bzw. fd gegeben ist,
werden geandert: neuer Eigentumer ist owner, neue Gruppe ist group.
Nur der Super-User kann den Eigentumer einer Datei andern. Der
Eigentumer einer Datei kann die Gruppenzugehorigkeit der Datei in jede
Gruppe andern, der er selber angehort. Der Super-User kann die
Gruppenzugehorigkeit beliebig andern.
Wird als owner oder group -1 ubergeben, wird die entsprechende ID nicht
geandert.
Werden Eigentumer oder Gruppe einer ausfuhrbaren Datei von einem Nicht-
Super-User geandert, werden die Modus-Bits S_ISUID und S_ISGID
geloscht. POSIX legt nicht fest, ob dies auch dann geschehen sollte,
wenn der Super-User chown durchfuhrt. Das Verhalten von Linux ist in
diesem Falle abhangig von der Kernelversion. Ist die Datei nicht
ausfuhrbar (d.h. das S_IXGRP Bit ist geloscht), bedeutet ein gesetztes
S_ISGID Bit verbindliche Sperren (mandatory locks) fur die Datei.
Dieses Bit wird dann von chown nicht geandert.
R"UCKGABEWERT
Bei Erfolg gibt chown Null zuruck. Bei einem Fehler wird -1
zuruckgegeben und errno entsprechend gesetzt.
FEHLER
Die haufigsten Fehler fur chown sind unten aufgefuhrt. Je nach
Dateisystem konnen andere Fehler zuruckgegeben werden.
EPERM Die effektive UID (Benutzer ID) entspricht nicht dem Eigentumer
der Datei und ist auch nicht Null (d.h. Super-User). EPERM
kann auch anzeigen, dass Eigentumer (owner) oder Gruppe (group)
falsch angegeben wurden.
EROFS Die angegebene Datei liegt auf einem schreibgeschutzten (read-
only) Dateisystem.
EFAULT path zeigt auf eine Adresse auBerhalb des gultigen Adressraums.
ENAMETOOLONG
path ist zu lang.
ENOENT Die Datei ist nicht vorhanden.
ENOMEM Es war nicht ausreichend Kernel-Speicher verfugbar.
ENOTDIR Eine Komponente im Verzeichnisteil des Pfades (d.i. der vordere
Teil bis zum Dateinamen ausschlieBlich) ist kein Verzeichnis.
EACCES Die Berechtigung zum Durchsuchen eines Verzeichnisses im Pfad
ist nicht gegeben.
ELOOP Es wurden zu viele symbolische Links beim Auflosen von path
gefunden.
Folgende Fehler konnen von fchown zuruckgegeben werden:
EBADF Der Dateideskriptor fd ist ungultig.
ENOENT Siehe oben.
EPERM Siehe oben.
EROFS Siehe oben.
EIO Ein (low-level) Ein-/Ausgabe-Fehler ist wahrend der Anderung
des Inodes aufgetreten.
ANMERKUNGEN
In Linux-Versionen vor 2.1.81 (auBer 2.1.46) folgte chown nicht
symbolischen Links. Ab Linux 2.1.81 folgt chown symbolischen Links und
es gibt einen neuen Systemaufruf lchown, der symbolischen Links nicht
folgt. Ab Linux 2.1.86 hat dieser neue Aufruf (der die gleiche
Semantik wie das alte chown besitzt) die gleiche Systemaufruf-Nummer
(syscall number) und chown erhielt die neu eingefuhrte Nummer.
Der Prototyp fur fchown ist nur dann verfugbar, wenn __USE_BSD
definiert ist.
KONFORM ZU
chown ist konform zu SVr4, SVID, POSIX und X/OPEN. Die 4.4BSD-Version
kann nur vom Super-User benutzt werden (d.h. dass normale Benutzer
keine Dateien abgeben konnen). SVr4 dokumentiert die Fehler EINVAL,
EINTR, ENOLINK und EMULTIHOP, aber nicht ENOMEM. POSIX.1 dokumentiert
nicht die Fehler ENOMEM und ELOOP.
Der fchown-Aufruf ist konform zu 4.4BSD und SVr4. SVr4 dokumentiert
zusatzlich die Fehler EINVAL, EIO, EINTR und ENOLINK.
EINSCHR"ANKUNGEN
Die Semantik von chown() wird auf NFS-Dateisystemen mit aktiviertem
UID-mapping (Umsetzung der Benutzerkennungen zwischen verschiedenen
Rechnern) bewusst verletzt. AuBerdem wird bei allen Systemaufrufen,
die auf den Dateiinhalt zugreifen, die Semantik verletzt, da chown()
einen sofortigen Entzug des Zugriffs bei bereits geoffneten Dateien
bewirken kann. Zwischenspeicherung (caching) seitens des Clients kann
zu einer Verzogerung zwischen dem Zeitpunkt der Anderung der
Besitzverhaltnisse, um einem Benutzer Zugriff zu ermoglichen, und dem
Zeitpunkt, zu dem er auf anderen Clients tatsachlich zugreifen kann,
fuhren.
SIEHE AUCH
chmod(2), flock(2).