Provided by: manpages-de-dev_1.4-1_all bug

BEZEICHNUNG

       chmod, fchmod - Zugriffsrechte einer Datei ändern

ÜBERSICHT

       #include <sys/stat.h>

       int chmod(const char *path, mode_t mode);
       int fchmod(int fd, mode_t mode);

   Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

       fchmod():
           _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
           || /* Seit Glibc 2.12: */ _POSIX_C_SOURCE >= 200809L

BESCHREIBUNG

       Diese  Systemaufrufe ändern die Rechte einer Datei. Sie unterscheiden sich nur in der Art, wie eine Datei
       angegeben wird:

       * chmod() ändert die Berechtigungen einer angegebenen Datei, deren Pfadname in path übergeben wird. Falls
         sie ein symbolischer Link ist, wird dieser dereferenziert.

       * fchmod() ändert die Rechte der über den offenen Dateideskriptor fd angegebenen Datei.

       Die neuen Dateirechte werden in der Bit-Maske mode festgelegt, welche  durch  ODER-Verknüpfung  von  null
       oder mehr der Folgenden erstellt wird:

       S_ISUID  (04000)  Set-User-ID (setzt die effektive Benutzer-ID des Prozesses bei execve(2))

       S_ISGID  (02000)  Set-Group-ID  (setzt  die effektive Gruppen-ID für execve(2); sperrt obligatorisch, wie
                         in  fcntl(2)  beschrieben;  bestimmt  die  Gruppe  der  Datei  aus  dem  übergeordneten
                         Verzeichnis, wie in chown(2) und mkdir(2) beschrieben

       S_ISVTX  (01000)  »Sticky Bit« (Schalter für eingeschränktes Löschen, wie in unlink(2) beschrieben)

       S_IRUSR  (00400)  Leserechte für Eigentümer

       S_IWUSR  (00200)  Schreibrechte für Eigentümer

       S_IXUSR  (00100)  Ausführungs-/Schreibrechte  für  Eigentümer  (»suchen«  trifft für Verzeichnisse zu und
                         bedeutet, dass auf Einträge innerhalb des Verzeichnisses zugegriffen werden kann)

       S_IRGRP  (00040)  Leserechte für Gruppe

       S_IWGRP  (00020)  Schreibrechte für Gruppe

       S_IXGRP  (00010)  Ausführungs-/Schreibrechte  für Gruppe

       S_IROTH  (00004)  Leserechte für andere

       S_IWOTH  (00002)  Schreibrechte für andere

       S_IXOTH  (00001)  Ausführungs-/Schreibrechte  für andere

       Die effektive UID des aufrufenden Prozesses muss auf den Eigentümer der Datei  passen  oder  der  Prozess
       muss privilegiert sein (Linux: er muss über die Capability (Fähigkeit) CAP_FOWNER verfügen).

       Falls  der  aufrufende  Prozess  nicht  privilegiert  ist  (Linux:  er  verfügt nicht über die Capability
       CAP_FSETID) und die Gruppe der Datei nicht auf die effektive Gruppen-ID des Prozesses oder  einer  seiner
       ergänzenden  Gruppen-IDs  passt,  dann  wird  das  Bit S_ISGID ausgeschaltet werden, ohne dass ein Fehler
       zurückgegeben wird.

       Als Sicherheitsmaßnahme können je nach  Dateisystem  die  Set-User-ID-  und  Set-Group-ID-Ausführungsbits
       ausgeschaltet  werden, wenn eine Datei geschrieben wird. (Unter Linux geschieht das, wenn der schreibende
       Prozess nicht über die CAP_FSETID-Capability verfügt.) Bei einigen Dateisystemen kann nur  der  Superuser
       das  Sticky-Bit  setzen,  das  möglicherweise  eine  besondere  Bedeutung  hat.  Für  das Sticky-Bit, das
       Set-User-ID-Bit und das Set-Group-ID-Bit für Verzeichnisse siehe stat(2).

       Für NFS-Dateisysteme wirkt sich eine Beschränkung der Rechte sofort auf schon geöffnete Dateien aus, weil
       die Zugriffskontrolle auf dem Server erfolgt, der Client sich aber um die offenen  Dateien  kümmert.  Die
       Erweiterung  der  Rechte  kann für andere Clients verschoben werden, wenn für sie die Zwischenspeicherung
       der Attribute aktiviert wurde.

RÜCKGABEWERT

       Bei Erfolg wird Null zurückgegeben. Bei  einem  Fehler  wird  -1  zurückgegeben  und  errno  entsprechend
       gesetzt.

FEHLER

       Abhängig  vom  Dateisystem  können  andere  Fehler  zurückgeliefert  werden. Die allgemeineren Fehler für
       chmod() sind im Folgenden aufgeführt:

       EACCES Eine Komponente des Pfad-Präfix darf nicht durchsucht werden. (Siehe auch path_resolution(7).)

       EFAULT path zeigt aus dem für Sie zugänglichen Adressraum heraus.

       EIO    Es ist ein E/A-Fehler (engl. I/O) aufgetreten.

       ELOOP  Bei der Auflösung von path wurden zu viele symbolische Links gefunden.

       ENAMETOOLONG
              path ist zu lang.

       ENOENT Die Datei existiert nicht.

       ENOMEM Es war nicht genügend Kernel-Speicher verfügbar.

       ENOTDIR
              Eine Komponente des Pfad-Präfixes ist kein Verzeichnis.

       EPERM  Die effektive UID passt nicht auf den Eigentümer der Datei und der Prozess ist nicht  privilegiert
              (Linux: Er verfügt nicht über die Capability CAP_FOWNER).

       EROFS  Die angegebene Datei befindet sich auf einem nur lesbaren (read-only) Dateisystem.

       Die allgemeinen Fehler bei fchmod() sind im Folgenden aufgeführt:

       EBADF  Der Dateideskriptor fd ist ungültig.

       EIO    Siehe oben.

       EPERM  Siehe oben.

       EROFS  Siehe oben.

KONFORM ZU

       4.4BSD, SVr4, POSIX.1-2001.

SIEHE AUCH

       chown(2), execve(2), fchmodat(2), open(2), stat(2), path_resolution(7)

KOLOPHON

       This  page  is  part  of  release  3.54 of the Linux man-pages project. A description of the project, and
       information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Daniel Kobras <kobras@linux.de>, Helge Kreutzmann
       <debian@helgefjell.de>,  Martin  Eberhard  Schauer  <Martin.E.Schauer@gmx.de>   und   Mario   Blättermann
       <mario.blaettermann@gmail.com> erstellt.

       Diese  Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser  Handbuchseite  finden,  schicken  Sie  bitte  eine  E-Mail  an
       <debian-l10n-german@lists.debian.org>.

Linux                                          26. September 2010                                       CHMOD(2)