table of contents
other sections
CHMOD(2) | Linux-Programmierhandbuch | CHMOD(2) |
BEZEICHNUNG¶
chmod, fchmod - Zugriffsrechte einer Datei ändernÜBERSICHT¶
#include <sys/stat.h>Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):
_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.
- 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
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 Ihrem adressierbaren Adressraum heraus.
- EIO
- Es ist ein E/A-Fehler (engl. I/O) aufgetreten.
- ELOOP
- Bei der Auflösung von path wurden zu viele symbolische Verknüpfungen gefunden.
- ENAMETOOLONG
- path ist zu lang.
- ENOENT
- Die Datei existiert nicht.
- ENOMEM
- Zu wenig Kernelspeicher 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.
- 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¶
Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux- man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler gemeldet werden können, finden sich unter 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> und Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt.26. September 2010 | Linux |