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

BEZEICHNUNG

       chmod, fchmod - Zugriffsrechte einer Datei ändern.

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

              man -LC 2 chmod

       eingeben.

ÜBERSICHT

       #include <sys/types.h>
       #include <sys/stat.h>

       int chmod(const char *Pfad, mode_t Rechte);
       int fchmod(int fd, mode_t Rechte);

BESCHREIBUNG

       Die  Zugriffsrechte  der  durch  Pfad  beziehungsweise  fd  angegebenen  Datei  oder   des
       Verzeichnisses  werden  geändert.  Die  Rechte  werden  angegeben durch bitweises Oder der
       folgenden Werte:

              S_ISUID   04000 Setze Benutzerkennung bei Ausführung;

              S_ISGID   02000 Setze Gruppenkennung bei Ausführung;

              S_ISVTX   01000 'Sticky-Bit' (Erklärung siehe unten);

              S_IRUSR (S_IREAD)
                        00400 Leserechte für Eigentümer;

              S_IWUSR (S_IWRITE)
                        00200 Schreibrechte für Eigentümer;

              S_IXUSR (S_IEXEC)
                        00100 Ausführrechte für Eigentümer, bei Verzeichnissen:  Eigentümer  darf
                        Verzeichnis durchsuchen;

              S_IRGRP   00040 Leserechte für Gruppe;

              S_IWGRP   00020 Schreibrechte für Gruppe;

              S_IXGRP   00010   Ausführrechte   für   Gruppe,  bei  Verzeichnissen:  Gruppe  darf
                        Verzeichnis durchsuchen;

              S_IROTH   00004 Leserechte für andere;

              S_IWOTH   00002 Schreibrechte für Gruppe;

              S_IXOTH   00001  Ausführrechte  für  andere,  bei  Verzeichnissen:  andere   dürfen
                        Verzeichnis durchsuchen;

       Die effektive Benutzerkennung des Prozesses muss entweder null sein, oder sie muss mit der
       Kennung des Dateieigentümers übereinstimmen.

       Ist  die  effektive  Benutzerkennung  des  Prozesses  nicht  null   und   entspricht   die
       Gruppenzugehörigkeit  der Datei nicht einer der Gruppen des aufrufenden Prozesses, so wird
       das S_ISGID-Bit abgeschaltet, ohne dass ein  Fehler  zurückgeliefert  wird.  Abhängig  vom
       verwendeten  Dateisystem  können die S_ISUID- und S_ISGID-Bits gelöscht werden, sobald die
       Datei beschrieben wird.

       Auf manchen Dateisystemen darf lediglich der  Administrator  das  Sticky-Bit  setzen.  Das
       Sticky-Bit  kann verschiedene Bedeutungen haben, beispielsweise kann in Verzeichnissen mit
       gesetztem Sticky-Bit eine Datei nur vom  Dateieigentümer  oder  dem  Administrator  (root)
       gelöscht werden.

       Auf  NFS-Dateisystemen  findet  die  Zugriffskontrolle  auf  dem Server statt, während der
       Klient selbst seine offenen Dateien verwaltet.  Verschärfte  Zugriffsrechte  treten  somit
       augenblicklich  in  Kraft. Erweiterte Zugriffsrechte hingegen werden erst nach und nach an
       andere Klienten weitergegeben.

RÜCKGABEWERT

       Sind die Zugriffsrechte erfolgreich geändert, wird 0 zurückgegeben. Tritt ein Fehler  auf,
       wird -1 zurückgegeben und errno entsprechend der Fehlerursache gesetzt.

FEHLER

       Welche  Fehler  im einzelnen zurückgeliefert werden, hängt ab vom verwendeten Dateisystem.
       Die folgenden Auflistungen nennen lediglich die allgemein üblichen.

       Zunächste die Fehler für chmod:

       EPERM  Die effektive Benutzerkennung ist weder null, noch entspricht  sie  dem  Eigentümer
              der Datei.

       EROFS  Die angegebene Datei befindet sich auf einem Dateisystem, das nur lesbar ist.

       EFAULT Pfad  zeigt  auf  einen  Speicherbereich  außerhalb  des  erlaubten Adressraums des
              Prozesses.

       ENAMETOOLONG
              Pfad ist zu lang.

       ENOENT Der angegebene Pfadname existiert nicht.

       ENOMEM Das Betriebssystem verfügt  nicht  über  ausreichend  Speicher,  um  die  Anweisung
              auszuführen.

       ENOTDIR
              Eine Komponente von Pfad ist kein Verzeichnis.

       EACCES Dem Prozess ist nicht erlaubt, eine Komponente von Pfad zu durchsuchen.

       ELOOP  Pfad enthält zu viele symbolische Verweise.

       EIO    Ein Ein-/Ausgabefehler ist aufgetreten.

       Übliche Fehler bei fchmod:

       EBADF  fd ist kein gültiger Dateideskriptor.

       EROFS  Siehe oben.

       EPERM  Siehe oben.

       EIO    Siehe oben.

KONFORM ZU

       Der  chmod-Aufruf  ist  vereinbar  mit SVr4, SVID, POSIX, X/OPEN und 4.4BSD. SVr4 legt die
       zusätzlichen Fehler EINTR, ENOLINK und EMULTIHOP fest,  jedoch  kein  ENOMEM.  In  POSIX.1
       fehlen  die  EFAULT,  ENOMEM,  ELOOP  und  EIO Fehlerbedingungen sowie die Makros S_IREAD,
       S_IWRITE und S_IEXEC.

       Der fchmod-Aufruf ist vereinbar mit 4.4BSD und SVr4. SVr4  legt  die  zusätzlichen  Fehler
       EINTR  und  ENOLINK  fest.  POSIX verlangt die fchmod-Funktion, sofern zumindest eines von
       _POSIX_MAPPED_FILES und _POSIX_SHARED_MEMORY_OBJECTS definiert ist.  Zudem  beschreibt  es
       die zusätzlichen Fehler ENOSYS und EINVAL, nicht jedoch EIO.

       Weder POSIX, noch X/OPEN dokumentieren das Sticky-Bit.

SIEHE AUCH

       open(2), chown(2), execve(2), stat(2),