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

BEZEICHNUNG

       chmod, fchmod - Zugriffsrechte einer Datei ändern.

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