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

BEZEICHNUNG

       chmod, fchmod - Zugriffsrechte einer Datei andern.

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

              man -LC 2 chmod

       eingeben.

"UBERSICHT

       #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 geandert.  Die Rechte werden angegeben
       durch bitweises Oder der folgenden Werte:

              S_ISUID   04000 Setze Benutzerkennung bei Ausfuhrung;

              S_ISGID   02000 Setze Gruppenkennung bei Ausfuhrung;

              S_ISVTX   01000 'Sticky-Bit' (Erklarung siehe unten);

              S_IRUSR (S_IREAD)
                        00400 Leserechte fur Eigentumer;

              S_IWUSR (S_IWRITE)
                        00200 Schreibrechte fur Eigentumer;

              S_IXUSR (S_IEXEC)
                        00100    Ausfuhrrechte     fur     Eigentumer,     bei
                        Verzeichnissen:     Eigentumer     darf    Verzeichnis
                        durchsuchen;

              S_IRGRP   00040 Leserechte fur Gruppe;

              S_IWGRP   00020 Schreibrechte fur Gruppe;

              S_IXGRP   00010 Ausfuhrrechte fur  Gruppe,  bei  Verzeichnissen:
                        Gruppe darf Verzeichnis durchsuchen;

              S_IROTH   00004 Leserechte fur andere;

              S_IWOTH   00002 Schreibrechte fur Gruppe;

              S_IXOTH   00001  Ausfuhrrechte  fur  andere, bei Verzeichnissen:
                        andere durfen Verzeichnis durchsuchen;

       Die effektive Benutzerkennung des Prozesses muss  entweder  null  sein,
       oder sie muss mit der Kennung des Dateieigentumers ubereinstimmen.

       Ist   die  effektive  Benutzerkennung  des  Prozesses  nicht  null  und
       entspricht die Gruppenzugehorigkeit der Datei nicht einer  der  Gruppen
       des  aufrufenden  Prozesses, so wird das S_ISGID-Bit abgeschaltet, ohne
       dass  ein  Fehler  zuruckgeliefert  wird.   Abhangig  vom   verwendeten
       Dateisystem  konnen  die  S_ISUID-  und  S_ISGID-Bits  geloscht 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  Dateieigentumer oder dem Administrator (root) geloscht
       werden.

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

R"UCKGABEWERT

       Sind die Zugriffsrechte erfolgreich  geandert,  wird  0  zuruckgegeben.
       Tritt  ein Fehler auf, wird -1 zuruckgegeben und errno entsprechend der
       Fehlerursache gesetzt.

FEHLER

       Welche  Fehler  im  einzelnen  zuruckgeliefert  werden,  hangt  ab  vom
       verwendeten  Dateisystem.  Die  folgenden Auflistungen nennen lediglich
       die allgemein ublichen.

       Zunachste die Fehler fur chmod:

       EPERM  Die effektive Benutzerkennung ist weder  null,  noch  entspricht
              sie dem Eigentumer der Datei.

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

       EFAULT Pfad zeigt auf einen  Speicherbereich  auBerhalb  des  erlaubten
              Adressraums des Prozesses.

       ENAMETOOLONG
              Pfad ist zu lang.

       ENOENT Der angegebene Pfadname existiert nicht.

       ENOMEM Das  Betriebssystem  verfugt nicht uber ausreichend Speicher, um
              die Anweisung auszufuhren.

       ENOTDIR
              Eine Komponente von Pfad ist kein Verzeichnis.

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

       ELOOP  Pfad enthalt zu viele symbolische Verweise.

       EIO    Ein Ein-/Ausgabefehler ist aufgetreten.

       Ubliche Fehler bei fchmod:

       EBADF  fd ist kein gultiger 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 zusatzlichen 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
       zusatzlichen 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
       zusatzlichen 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),