Provided by: manpages-de-dev_0.10-1_all bug

BEZEICHNUNG

       chown, fchown, lchown - Besitzverhältnisse einer Datei ändern

       Diese  Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen Sie
       die englischsprachige Handbuchseite zu Rate, indem Sie

              man -LC 2 chown

       eingeben.

Ü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).