1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
CHMOD verstehen (Dateirechte auf dem Server)
Diese Anleitung beschreibt CHMOD (Abkürzung für change mode), mit dem Sie die Zugriffsberechtigungen für eine Datei oder ein Verzeichnis ändern können.
FTP-Rechte ändern
Die Berechtigungen (nehmen Sie sich die Zeit, diesen anderen Wikipedia-Guide durchzulesen) die für jede Person/Gruppe verfügbar sind, sind wie folgt:
- Lesen: ermöglicht das Auflisten (erfordert auch das Ausführungsrecht) und Lesen in einem Verzeichnis und/oder das Lesen einer Datei
- Schreiben: ermöglicht das Erstellen, Ändern, Umbenennen und Löschen von Dateien und/oder Verzeichnissen
- Ausführung: für ein Verzeichnis: ermöglicht das Durchqueren, um seine Unterverzeichnisse zu lesen -> Für eine Datei: ermöglicht das Ausführen, wenn es sich um ein Programm oder ein Skript handelt, zum Beispiel.
- set uid (?): auf einer Datei mit Ausführungsrechten wird diese mit den Rechten des Eigentümers ausgeführt, wenn sie den Systemaufruf execve oder setuid verwendet
- set gid (?): alle neuen erstellten Dateien gehören der Gruppe des Verzeichnisses an und bei einer Datei mit Ausführungsrechten wird diese mit den Rechten der Gruppe ausgeführt
- Sticky Bit (?): In einem Verzeichnis können Dateien nur vom Eigentümer umbenannt oder gelöscht werden, auch wenn andere Benutzer Schreibrechte haben. Dieses Recht ist bei Dateien nicht wirklich nützlich.
Der Dateimanager FTP Manager ermöglicht es, die Berechtigungen der Dateien (einschließlich derjenigen von /web
) zu ändern.
Die meisten FTP-Software/Clients ermöglichen es, die Zugriffsrechte für Dateien zu ändern; die Funktion heißt in der Regel "CHMOD" und befindet sich unter "Eigenschaften", "Berechtigungen" oder "Attribute" (in der Regel durch Rechtsklick auf die zu ändernde Datei oder das Verzeichnis). Ein Kästchen ermöglicht es oft, die Berechtigungen auf alle Unterverzeichnisse und Dateien im Ordner rekursiv anzuwenden.
Wenn Sie die gewünschten Berechtigungen ausgewählt haben, bestätigen Sie diese, und die Rechte werden geändert, außer denen, die Sie nicht ändern dürfen oder die der Benutzer, unter dem Sie angemeldet sind, nicht ändern darf.
Beispiel mit FileZilla:
Mehr erfahren
Wenn es darum geht, Berechtigungen zu ändern, geht es in der Regel darum, einen "chmod 777
", "chmod 666
" oder einen anderen Befehl auszuführen. Es handelt sich also um drei Ziffern, von denen:
- die erste Zahl entspricht den Rechten des Besitzers
- die zweite den Rechten der Gruppe entspricht
- Die dritte Zahl entspricht den Rechten der anderen Benutzer.
Und die Rechte setzen sich wie folgt zusammen:
- "4" für das Leserecht (read)
- "2" für das Schreibrecht (write)
- "1" für das Ausführungsrecht (execute)
Dann addieren Sie diese Zahlen. Zum Beispiel, wenn Sie alle Rechte für den Eigentümer, aber keine Rechte für andere wollen, machen Sie "chmod 700" (4 + 2 + 1 = 7). Wenn Sie nur Lese- und Schreibrechte für alle wollen (4 + 2 = 6), machen Sie "chmod 666".
Diese Werte sind jedem guten FTP-Programm/Client bekannt, sodass Sie die Möglichkeit haben, die Zahl direkt in Ihr FTP-Programm/Client einzugeben, damit die Berechtigungen geändert werden.
Um die Berechtigungen für Dateien oder Verzeichnisse in PHP zu ändern, können Sie dies auch mit der Funktion „chmod“ tun, wie im folgenden Beispiel:
chmod ("/a_folder/a_file", 0755)
Beachten Sie, dass der anzuwendende Wert oktal sein muss, daher ist die führende Null obligatorisch. Achten Sie darauf, dass Sie ein Datentyp-Problem bekommen, wenn Sie den Wert in einer Variable speichern, das Sie mit der Funktion octdec()
umgehen können, wie im folgenden Beispiel:
$mode = 0755;chmod("a_folder/a_file", octdec($mode))