1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
CHMOD verstehen (Dateiberechtigungen auf dem Server)
Dieser Leitfaden beschreibt CHMOD (Abkürzung für change mode), mit dem die Zugriffsrechte einer Datei oder eines Verzeichnisses geändert werden können.
FTP-Berechtigungen ändern
Die Rechte (siehe diesen Wikipedia-Artikel) für jede Person/Gruppe sind wie folgt:
- Lesen: ermöglicht das Auflisten (erfordert auch die Ausführungsberechtigung) 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, zum Beispiel.
- Set UID (?): bei einer Datei mit Ausführungsrechten führt dies dazu, dass sie mit den Rechten des Eigentümers ausgeführt wird, 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 führt dies dazu, dass sie mit den Rechten der Gruppe ausgeführt wird
- Sticky Bit (?): in einem Verzeichnis können die Dateien des Verzeichnisses nur vom Eigentümer umbenannt oder gelöscht werden, auch wenn andere Benutzer Schreibrechte haben. Recht, das bei Dateien nicht wirklich nützlich ist
Der FTP-Dateimanager ermöglicht es, die Berechtigungen von Dateien (einschließlich derjenigen 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 Rechtsklick 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 und die Rechte werden geändert, außer diejenigen, die Sie nicht ändern dürfen oder die der Benutzer, unter dem Sie angemeldet sind, nicht ändern darf.
Beispiel mit Filezilla:
Mehr erfahren
Wenn von der Änderung von Berechtigungen die Rede ist, geht es in der Regel darum, einen "chmod 777", "chmod 666" oder ähnlich zu machen. Also drei Zahlen, von denen:
- die erste den Rechten des Eigentümers 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)
Addieren Sie dann diese Zahlen. Wenn Sie beispielsweise alle Rechte für den Besitzer, aber keine Rechte für andere wünschen, führen Sie "chmod 700" aus (4 + 2 + 1 = 7). Wenn Sie nur Lese- und Schreibrechte für alle (4 + 2 = 6) wünschen, führen Sie "chmod 666" aus.
Diese Werte sind jedem guten FTP-Programm/Client bekannt, sodass Sie die Möglichkeit haben, die Zahl direkt in Ihrem 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 im Oktalsystem angegeben werden muss, daher ist die führende Null obligatorisch. Achten Sie darauf, wenn Sie den Wert in einer Variablen speichern, dass Sie ein Datenproblem haben, das Sie mit der Funktion octdec() umgehen können, wie im folgenden Beispiel:
$mode = 0755;chmod("a_folder/a_file", octdec($mode))