|
|||||||
|
|
CHOWNSection: Systemaufrufe (2)Updated: 23. Mai 2000 Index Return to Main Contents BEZEICHNUNGchown, fchown, lchown - Besitzverhältnisse einer Datei ändernÜBERSICHT#include <sys/types.h>#include <unistd.h>
int chown(const char *path, uid_t owner, gid_t group);
BESCHREIBUNGDie Besitzverhältnisse der Datei, die durch path bzw. fd gegeben ist, werden geändert: neuer Eigentümer ist owner, neue Gruppe ist group. Nur der Super-User kann den Eigentümer einer Datei ändern. Der Eigentümer einer Datei kann die Gruppenzugehörigkeit der Datei in jede Gruppe ändern, der er selber angehört. Der Super-User kann die Gruppenzugehörigkeit beliebig ändern.Wird als owner oder group -1 übergeben, wird die entsprechende ID nicht geändert. Werden Eigentümer oder Gruppe einer ausführbaren Datei von einem Nicht-Super-User geändert, werden die Modus-Bits S_ISUID und S_ISGID gelöscht. POSIX legt nicht fest, ob dies auch dann geschehen sollte, wenn der Super-User chown durchführt. Das Verhalten von Linux ist in diesem Falle abhängig von der Kernelversion. Ist die Datei nicht ausführbar (d.h. das S_IXGRP Bit ist gelöscht), bedeutet ein gesetztes S_ISGID Bit verbindliche Sperren (mandatory locks) für die Datei. Dieses Bit wird dann von chown nicht geändert. RÜCKGABEWERTBei Erfolg gibt chown Null zurück. Bei einem Fehler wird -1 zurückgegeben und errno entsprechend gesetzt.FEHLERDie häufigsten Fehler für chown sind unten aufgeführt. Je nach Dateisystem können andere Fehler zurückgegeben werden.
Folgende Fehler können von fchown zurückgegeben werden:
ANMERKUNGENIn Linux-Versionen vor 2.1.81 (außer 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 eingeführte Nummer.Der Prototyp für fchown ist nur dann verfügbar, wenn __USE_BSD definiert ist. KONFORM ZUchown ist konform zu SVr4, SVID, POSIX und X/OPEN. Die 4.4BSD-Version kann nur vom Super-User benutzt werden (d.h. daß normale Benutzer keine Dateien abgeben können). 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 zusätzlich die Fehler EINVAL, EIO, EINTR und ENOLINK. EINSCHRÄNKUNGENDie Semantik von chown() wird auf NFS-Dateisystemen mit aktiviertem UID-mapping (Umsetzung der Benutzerkennungen zwischen verschiedenen Rechnern) bewußt verletzt. Außerdem wird bei allen Systemaufrufen, die auf den Dateiinhalt zugreifen, die Semantik verletzt, da chown() einen sofortigen Entzug des Zugriffs bei bereits geöffneten Dateien bewirken kann. Zwischenspeicherung (caching) seitens des Clients kann zu einer Verzögerung zwischen dem Zeitpunkt der Änderung der Besitzverhältnisse, um einem Benutzer Zugriff zu ermöglichen, und dem Zeitpunkt, zu dem er auf anderen Clients tatsächlich zugreifen kann, führen.SIEHE AUCHchmod(2), flock(2).
Index
| ||||||
|
|
|
Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account Document on this page is part of "Linuxinfor Man Pages in HTML Format: man2". See Index Page for more info about Authorship and Copyright. 1999-2008 Linuxinfor.com. No rights reserved. |