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>.