Provided by:
manpages-de-dev_0.5-5ubuntu1_all 
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);
Diese Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen Sie
die englischsprachige Handbuchseite zu Rate, indem Sie
man -LC 2 chmod
eingeben.
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
Dateisystem 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
werden.
Auf NFS-Dateisystemen findet die Zugriffskontrolle auf dem Server
statt, whrend der Klient selbst seine offenen Dateien verwaltet.
Verschrfte 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
verwendeten Dateisystem. Die folgenden Auflistungen nennen lediglich
die allgemein 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),