1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
Dateiberechtigungen bearbeiten
Mit CHMOD (Abkürzung von Change Mode) lassen sich die Zugriffsrechte für Dateien oder Ordner ändern.
Für jede Person/Gruppe gibt es folgende Dateirechte (s. Wikipedia):
- Lesen: Vergibt die Berechtigung, den Inhalt eines Verzeichnisses aufzulisten (erfordert auch Ausführungsrechte), zu lesen und/oder eine Datei zu lesen
- Schreiben: Vergibt die Berechtigung, Dateien und/oder Verzeichnisse anzulegen, zu bearbeiten, umzubenennen und zu löschen
- Ausführen: Für ein Verzeichnis: Vergibt eine Zugriffsberechtigung, um Unterverzeichnisse lesen zu können. -> Für eine Datei: Vergibt eine Ausführungsberechtigung (z.B. wenn es sich um ein Programm oder ein Skript handelt.
- set uid (s. Wikipedia): Im Fall einer Datei mit Ausführungsrechten bedeutet dies, dass sie mit den Dateirechten des Besitzers ausgeführt wird, wenn er den Systemaufruf (Funktion execve oder setuid) verwendet
- set gid (s. Wikipedia): Alle neu angelegten Dateien gehören dem Besitzer des Verzeichnisses. Bei einer Datei mit Ausführungsrechten bedeutet dies, dass sie mit den Berechtigungen des Besitzers ausgeführt wird
- sticky bit (s. Wikipedia): Bei einem Verzeichnis können die Dateien des Verzeichnisses nur vom Besitzer umbenannt oder gelöscht werden, auch wenn andere Benutzer Schreibrechte besitzen. Für Dateien ist diese Berechtigung eher unnötig
Wir empfehlen die Verwendung unserer Dateiverwaltung FTP Manager. Damit lassen sich die Dateirechte (einschliesslich derjenigen in /web) ändern.
Die meisten FTP-Anwendungen gestatten die Bearbeitung der Dateizugriffsrechte. Diese Funktion heisst normalerweise "CHMOD" und befindet sich in "Eigenschaften", "Berechtigungen" oder "Attribute" (Aufruf normalerweise durch Rechtsklick auf die entsprechende Datei oder den Ordner). Dann können Sie die Rechte an allen Unterverzeichnisse und Dateien des Ordners durch Aktivieren des Kästchens rekursiv vergeben.
Wenn Sie neben allen gewünschten Berechtigungen einen Haken gesetzt haben, bestätigen Sie, und alle Berechtigungen ausser denjenigen, die von Ihnen oder genauer gesagt von dem Benutzer, mit dem Sie sich angemeldet haben, nicht bearbeitet werden dürfen, werden geändert.
Filezilla
Weitere Informationen
Wenn Berechtigungen geändert werden sollen, werden Sie i.A. aufgefordert, z.B. einen "CHMOD 777" oder "CHMOD 666" zu setzen. Die drei Ziffern haben jeweils eine Bedeutung:
- die erste entspricht den Berechtigungen des Eigentümers
- die zweite entspricht den Berechtigungen der Gruppe
- die dritte entspricht den Berechtigungen der übrigen Benutzer
Die Berechtigungen lassen sich folgendermassen aufschlüsseln:
- "4" : Leserecht (read)
- "2": Schreibrecht (write)
- "1": Ausführungsrecht (execute)
Diese Ziffern müssen nur addiert werden. Um z.B. dem Besitzer alle Berechtigungen und anderen Benutzern gar keine Berechtigung zu erteilen, setzen Sie einen "CHMOD 700" (4 + 2 + 1 = 7). Wenn nur Lese- und Schreibrechte für alle Benutzer erteilt werden sollen (4 + 2 = 6), setzen Sie einen "CHMOD 666".
Diese Werte werden von jedem besseren FTP-Programm erkannt, d.h. zur Änderung der Berechtigungen reicht es aus, wenn Sie die Zahl in Ihrem FTP-Client einstellen.
Um die Zugriffsberechtigungen auf Dateien oder Verzeichnisse in PHP zu bearbeiten, können Sie auch die Funktion "chmod" verwenden, wie in folgendem Beispiel erläutert:
chmod ("/ein_ordner/eine_datei", 0755);Bitte beachten Sie, dass der anzuwendende Wert im Oktalsystem anzugeben ist, d.h. am Anfang muss eine Null stehen. Wenn Sie den Wert in einer Variablen speichern, besteht ein Problem mit dem Datentyp, das Sie mit der Funktion octdec() umgehen können. Beispiel:
$mode = 0755;chmod("/ein_ordner/eine_datei", octdec($mode))