Wissensdatenbank
1 000 FAQs, 500 Anleitungen und erläuternde Videos. 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 Zugriffsrechte einer Datei oder eines Verzeichnisses ändern können.
FTP-Rechte ändern
Die Rechte (siehe diesen Wikipedia-Artikel) für jede Person/Gruppe sind wie folgt:
- Lesen: ermöglicht das Auflisten (erfordert auch das Ausführungsrecht) und Lesen in einem Verzeichnis und/oder Lesen einer Datei
- Schreiben: ermöglicht das Erstellen, Ändern, Umbenennen, Löschen von Dateien und/oder Verzeichnissen
- Ausführen: für ein Verzeichnis: ermöglicht das Durchlaufen, um seine Unterverzeichnisse zu lesen -> Für eine Datei: ermöglicht die Ausführung, wenn es sich um ein Programm oder ein Skript handelt.
- Set UID (?): bei einer Datei mit Ausführungsrechten wird diese mit den Rechten des Besitzers ausgeführt, wenn sie den Systemaufruf execve oder setuid verwendet
- Set GID (?): alle neu erstellten Dateien gehören zur Gruppe des Verzeichnisses und bei einer Datei mit Ausführungsrechten wird diese mit den Rechten der Gruppe ausgeführt
- Sticky Bit (?): in einem Verzeichnis können die Dateien des Verzeichnisses nur vom Besitzer umbenannt oder gelöscht werden, auch wenn andere Benutzer Schreibrechte haben. Recht, das bei Dateien nicht wirklich nützlich ist
Der Web FTP im Manager ermöglicht es, die Berechtigungen von Dateien (einschließlich der von /web) zu ändern.
Die meisten Software/FTP-Clients ermöglichen es, die Zugriffsrechte auf Dateien zu ändern; die Funktion heißt in der Regel "CHMOD" und befindet sich unter "Eigenschaften", "Berechtigungen" oder "Attribute" (in der Regel durch Klicken mit der rechten Maustaste auf die zu ändernde Datei oder das Verzeichnis). Ein Kontrollkästchen ermöglicht es oft, die Berechtigungen auf alle Unterverzeichnisse und Dateien im Verzeichnis 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 für die der Benutzer, unter dem Sie angemeldet sind, keine Berechtigung hat.
Beispiel mit Filezilla:
Mehr erfahren
Wenn von der Änderung von Berechtigungen die Rede ist, geht es in der Regel um "chmod 777", "chmod 666" oder ähnlich. Also drei Zahlen, von denen:
- die erste den Rechten des Besitzers entspricht
- die zweite den Rechten der Gruppe entspricht
- die dritte Zahl den Rechten anderer Benutzer entspricht.
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)
Danach müssen Sie diese Zahlen nur noch addieren. Wenn Sie beispielsweise alle Rechte für den Besitzer, aber keine Rechte für andere möchten, führen Sie "chmod 700" aus (4 + 2 + 1 = 7). Wenn Sie nur Lese- und Schreibrechte für alle (4 + 2 = 6) möchten, führen Sie "chmod 666" aus.
Diese Werte sind jedem guten FTP-Programm/Client bekannt, sodass Sie die Zahl direkt in Ihrem FTP-Programm/Client eingeben können, um die Berechtigungen zu ändern.
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, wenn Sie den Wert in einer Variablen speichern, haben Sie ein Problem mit dem Datentyp, das Sie mit der Funktion octdec() umgehen können, wie im folgenden Beispiel:
$mode = 0755;chmod("a_folder/a_file", octdec($mode))Link zu dieser FAQ:
War diese FAQ nützlich?