Available in

(1) (1)/cs (1)/de (1)/es (1)/fi (1)/fr (1)/hu (1)/it (1)/ja (1)/ko (1)/nl (1)/pl (1)/pt (1)/ru (1)/tr (1)/zh_CN (1)/zh_TW (1posix) (2) (2)/de (2)/es (2)/fr (2)/ja (2)/ko (2)/nl (2)/pl (2)/ru (2freebsd) (3posix)

TOC

CHMOD(2)                         Systemaufrufe                        CHMOD(2)



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


              S_ISUID   04000 Setze Benutzerkennung bei Ausfhrung;

              S_ISGID   02000 Setze Gruppenkennung bei Ausfhrung;

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

              S_IRUSR (S_IREAD)
                        00400 Leserechte fr Eigentmer;

              S_IWUSR (S_IWRITE)
                        00200 Schreibrechte fr Eigentmer;

              S_IXUSR (S_IEXEC)
                        00100  Ausfhrrechte  fr Eigentmer, bei Verzeichnissen:
                        Eigentmer darf Verzeichnis durchsuchen;

              S_IRGRP   00040 Leserechte fr Gruppe;

              S_IWGRP   00020 Schreibrechte fr Gruppe;

              S_IXGRP   00010  Ausfhrrechte  fr  Gruppe,  bei  Verzeichnissen:
                        Gruppe darf Verzeichnis durchsuchen;

              S_IROTH   00004 Leserechte fr andere;

              S_IWOTH   00002 Schreibrechte fr Gruppe;

              S_IXOTH   00001  Ausfhrrechte  fr  andere,  bei  Verzeichnissen:
                        andere drfen Verzeichnis durchsuchen;

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

       Ist   die  effektive  Benutzerkennung  des  Prozesses  nicht  null  und
       entspricht die Gruppenzugehrigkeit der Datei nicht  einer  der  Gruppen
       des  aufrufenden  Prozesses, so wird das S_ISGID-Bit abgeschaltet, ohne
       dass ein Fehler zurckgeliefert wird.  Abhngig vom verwendeten Dateisys-
       tem  knnen  die  S_ISUID-  und  S_ISGID-Bits gelscht 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 Dateieigentmer oder dem Administrator (root) gelscht wer-
       den.

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

RCKGABEWERT

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

FEHLER

       Welche Fehler im einzelnen zurckgeliefert werden, hngt ab vom verwende-
       ten Dateisystem. Die folgenden Auflistungen nennen lediglich die allge-
       mein blichen.

       Zunchste die Fehler fr chmod:

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

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

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

       ENAMETOOLONG
              Pfad ist zu lang.

       ENOENT Der angegebene Pfadname existiert nicht.

       ENOMEM Das Betriebssystem verfgt nicht ber ausreichend Speicher, um die
              Anweisung auszufhren.

       ENOTDIR
              Eine Komponente von Pfad ist kein Verzeichnis.

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

       ELOOP  Pfad enthlt zu viele symbolische Verweise.

       EIO    Ein Ein-/Ausgabefehler ist aufgetreten.

       bliche Fehler bei fchmod:

       EBADF  fd ist kein gltiger 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 zustzlichen 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
       zustzlichen 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
       zustzlichen 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),



Linux 2.0.32                    23. Januar 2001                       CHMOD(2)

COMMENTS

Add your comment here. Whitespace and linebreaks are preserved. URLs are linked automatically.
CAPTCHA

No HTML allowed. URLs will be linked with nofollow attribute. Whitespace is preserved.