0351 16056061 | info@stachowitz-medien.de
CHMOD – Rechte für unterschiedliche Anforderungen
Was bedeutet CHMOD?
CHMOD steht für den englischen Begriff Change Mode. Damit kannst du unter Unix die Zugriffsrechte von Dateien und Ordnern verändern. Das Kommandozeilenprogramm braucht man also für Lese-, Schreib- und Ausführungsrechte. Jeder, der eine Website betreibt, kommt unweigerlich mit diesen Rechten in Berührung.
Webserver nutzen CHMOD
Die meisten Webserver werden mit Apache betrieben. Hierfür werden dann auch die entsprechenden Rechte für Dateien und Verzeichnisse vergeben. Vergibt man diese Rechte nicht, lassen sich unter Umständen keine Dateien lesen oder neue erstellen.
Wie werden die Rechte unterschieden?
Wir unterscheiden zwischen 3 Bereichen:
- 1. Eigentümer
(die eigenen Rechte)
- 2. Gruppen
(die Rechte innerhalb einer Gruppe)
- 3. Alle Anderen
(die Rechte für die anderen Benutzer)
Diese drei Bereiche können mit unterschiedlichen Rechten versehen sein. Dazu nutzt man auch ein bestimmtes Berechnungsverfahren, um den CHMOD-Wert zu errechnen. Dabei rechnet man pro Bereich die Einzelwerte zusammen, um einen Gesamtwert von 0-7 zu erreichen.
Kennzeichnungen der Rechtevergabe
Für die Vergabe von CHMOD-Rechten nutzt man folgende Kürzel:
r = Leserechte (read) Wert: 4
w = Schreibrechte (write) Wert: 2
x = Ausführungsrechte (execution) Wert: 1
Übersicht der Verwaltungsrechte für einen Webserver
Zugriffsrecht | Oktal | Bedeutung | ||
---|---|---|---|---|
Eigentümer | Gruppe | Andere | ||
rwx | rwx | rwx | 777 | Lesbar, schreibbar und ausführbar für Alle Benutzer . |
rwx | rwx | r-x | 775 | Wie 1., aber ohne Schreibrecht für Andere Benutzer (z.b. CGI-Scripts, Perl-Skripte). |
rwx | r-x | r-x | 755 | Wie 1., aber ohne Schreibrecht für Andere Benutzer und Benutzer der eigenen Gruppe. |
rw- | rw- | rw- | 666 | Alle Benutzer dürfen lesen und schreiben. Optimaler CHMOD Wert, wenn der PHP Parser in einer anderen Gruppe ist und von PHP selbst geändert werden können soll. |
rw- | rw- | r– | 664 | Typischer Standardwert für neue Dateien: Lesbar für alle Benutzer, nicht schreibbar für Andere Benutzer, nicht ausführbar. |
rw- | rw- | — | 660 | Der Dateibesitzer und die Gruppe kann die Datei lesen und schreiben, alle Anderen haben keine Berechtigungen. Optimaler CHMOD Wert, wenn der PHP Parser in der selben Gruppe ist und von PHP selbst geändert werden können soll. |
rw- | r– | r– | 644 | Lesbar für alle Benutzer, nicht schreibbar für Andere Benutzer und Benutzer der eigenen Gruppe, nicht ausführbar. |
rw- | r– | — | 640 | Der Dateibesitzer kann lesen und schreiben, die Gruppe nur schreiben und alle übrigen Benutzer haben keinen Zugriff. Optimaler CHMOD Wert, wenn der PHP Parser in einer anderen Gruppe ist. |
rw- | — | r– | 604 | Lesbar für alle Benutzer, nicht schreibbar für Andere Benutzer und Benutzer der eigenen Gruppe, nicht ausführbar. Optimaler CHMOD Wert, wenn der PHP Parser in einer anderen Gruppe ist. |
rw- | — | rw- | 606 | Lesbar für alle Benutzer, nicht schreibbar für Andere Benutzer und Benutzer der eigenen Gruppe, nicht ausführbar. Optimaler CHMOD Wert, wenn der PHP Parser in einer anderen Gruppe ist und von PHP selbst geändert werden können soll. |
rw- | — | — | 600 | Der Dateibesitzer kann lesen und schreiben, alle übrigen Benutzer haben keinen Zugriff. Optimaler CHMOD Wert, wenn PHP unter dem selben Benutzernamen, als der Dateibesitzer, ausgeführt wird (möglich durch suPHP) und von PHP selbst geändert werden können soll. |
r– | — | — | 400 | Der Dateibesitzer kann lesen, alle übrigen Benutzer haben keinen Zugriff. Optimaler CHMOD Wert, wenn PHP unter dem selben Benutzernamen, als der Dateibesitzer, ausgeführt wird (möglich durch suPHP). |
Verzeichnisse brauchen Ausführungsrechte
Verzeichnisse benötigen immer die Ausführungsrechte, da man sie sonst nicht einsehen kann und somit auch nicht der Inhalt des Verzeichnisses erreichbar ist.
Was ist mit PHP-Dateien?
PHP-Dateien brauchen keine Ausführungsrechte, da sie oftmals im Quellcode einer Website vorliegen und mittels eines Parsers eingelesen werden. Der Parser übernimmt in der Regel die Ausführungsrechte. Anders verhält es sich, wenn du PHP als eigenständiges Programm nutzt. Hier sind dann andere Parameter nötig, auf die ich aber nicht näher eingehen werde.
Was bedeutet 777, 666, 755, 744?
Oft ist der Wert 777 als Standard vergeben, der bei unterschiedlichen Benutzern zu unterschiedlichen Berechtigungen führen kann. Damit soll erreicht werden, dass die Datei beschreibbar ist. Dieses hat zur Folge, dass die Ausführung für alle Benutzer auf dem selben Server ermöglicht wird. Soll diese Datei nicht ausführbar sein, reichen die Einstellungen CHMOD 666.
Soll der eigene Benutzer alle Berechtigungen erhalten, andere aber wiederum eingeschränkte, so reicht der Wert 755 oder 744.
CHMOD-Werte per FTP-Programm vergeben
Mit Hilfe eines FTP-Programms kannst du Rechte für Dateien und Verzeichnisse vergeben. Dazu musst du dich mit einem FTP-Programm auf deinem Webserver verbinden. Wähle nach dem Verbinden das entsprechende Verzeichnis oder die Datei aus, die neue Rechte erhalten soll.