Provided by: manpages-de-dev_0.5-4.1ubuntu1_all bug

BEZEICHNUNG

       chown, 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);
       int fchown(int fd, uid_t owner, gid_t group);
       int lchown(const char *path, uid_t owner, gid_t group);

BESCHREIBUNG

       Die  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ÜCKGABEWERT

       Bei  Erfolg  gibt  chown  Null  zurück.   Bei  einem  Fehler  wird   -1
       zurückgegeben und errno entsprechend gesetzt.

FEHLER

       Die  häufigsten  Fehler  für  chown  sind  unten  aufgeführt.   Je nach
       Dateisystem können andere Fehler zurückgegeben werden.

       EPERM   Die effektive UID (Benutzer ID) entspricht nicht dem Eigentümer
               der  Datei  und  ist  auch nicht Null (d.h. Super-User).  EPERM
               kann auch anzeigen, dass Eigentümer (owner) oder Gruppe (group)
               falsch angegeben wurden.

       EROFS   Die  angegebene Datei liegt auf einem schreibgeschützten (read-
               only) Dateisystem.

       EFAULT  path zeigt auf eine Adresse außerhalb des gültigen Adressraums.

       ENAMETOOLONG
               path ist zu lang.

       ENOENT  Die Datei ist nicht vorhanden.

       ENOMEM  Es war nicht ausreichend Kernel-Speicher verfügbar.

       ENOTDIR Eine Komponente im Verzeichnisteil des Pfades (d.i. der vordere
               Teil bis zum Dateinamen ausschließlich) ist kein Verzeichnis.

       EACCES  Die Berechtigung zum Durchsuchen eines Verzeichnisses  im  Pfad
               ist nicht gegeben.

       ELOOP   Es  wurden  zu  viele  symbolische Links beim Auflösen von path
               gefunden.

       Folgende Fehler können von fchown zurückgegeben werden:

       EBADF   Der Dateideskriptor fd ist ungültig.

       ENOENT  Siehe oben.

       EPERM   Siehe oben.

       EROFS   Siehe oben.

       EIO     Ein (low-level) Ein-/Ausgabe-Fehler ist  während  der  Änderung
               des Inodes aufgetreten.

ANMERKUNGEN

       In  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 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  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ÄNKUNGEN

       Die Semantik von chown() wird  auf  NFS-Dateisystemen  mit  aktiviertem
       UID-mapping  (Umsetzung  der  Benutzerkennungen  zwischen verschiedenen
       Rechnern) bewusst 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 AUCH

       chmod(2), flock(2).