Wissensdatenbank
1 000 FAQs, 500 Anleitungen und erläuternde Videos. Hier gibt es nur Lösungen!
CHMOD verstehen (Dateiberechtigungen auf dem Server)
Dieser Leitfaden beschreibt CHMOD (Abkürzung für change mode), mit dem Sie die Zugriffsrechte einer Datei oder eines Verzeichnisses ändern können.
FTP-Berechtigungen ändern
Die für jede Person/Gruppe verfügbaren Berechtigungen (siehe auch diese weitere Wikipedia-Seite) 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ühren: Für ein Verzeichnis: Ermöglicht das Durchsuchen, um seine Unterverzeichnisse zu lesen. Für eine Datei: Ermöglicht die Ausführung, wenn es sich beispielsweise um ein Programm oder ein Skript handelt.
- set uid (?): Bei einer Datei mit Ausführungsrechten führt dies dazu, dass die Datei mit den Rechten des Eigentümers ausgeführt wird, wenn der Systemaufruf execve oder setuid verwendet wird.
- set gid (?): Alle neu erstellten Dateien gehören zur Gruppe des Verzeichnisses, und bei einer Datei mit Ausführungsrechten führt dies dazu, dass die Datei mit den Rechten der Gruppe ausgeführt wird.
- Sticky Bit (?): Bei einem Verzeichnis können Dateien in diesem Verzeichnis nur vom Eigentümer umbenannt oder gelöscht werden, auch wenn andere Benutzer Schreibrechte haben. Dieses Recht ist für Dateien nicht wirklich nützlich.
Über den Web-FTP im Manager können Sie die Dateiberechtigungen ändern (einschließlich der Berechtigung für /web).
Die meisten FTP-Programme/Clients ermöglichen es, die Zugriffsrechte für Dateien zu ändern. Diese Funktion wird in der Regel als „CHMOD“ bezeichnet und befindet sich unter „Eigenschaften“, „Berechtigungen“ oder „Attribute“ (in der Regel durch einen Rechtsklick auf die zu ändernde Datei oder den zu ändernden Ordner). Oft gibt es ein Kontrollkästchen, mit dem die Berechtigungen rekursiv auf alle Unterverzeichnisse und Dateien im Ordner angewendet werden können.
Nachdem Sie die gewünschten Berechtigungen ausgewählt haben, bestätigen Sie diese, und die Rechte werden geändert, sofern Sie nicht die Berechtigung dazu haben oder der Benutzer, unter dem Sie angemeldet sind, nicht die Berechtigung hat, diese zu ändern.
Mehr erfahren
Wenn man von der Änderung von Berechtigungen spricht, geht es in der Regel darum, einen Befehl wie „chmod 777“, „chmod 666“ oder einen ähnlichen auszuführen. Dabei handelt es sich um drei Ziffern, von denen:
- die erste die Rechte des Eigentümers angibt.
- die zweite Zahl entspricht den Rechten der Gruppe.
- die dritte Zahl entspricht den Rechten der anderen Benutzer.
Und die Berechtigungen setzen sich wie folgt zusammen:
- „4“ für das Leserecht (read)
- „2“ für das Schreibrecht (write)
- „1“ für das Ausführungsrecht (execute)
Anschließend müssen Sie diese Zahlen addieren. Wenn Sie beispielsweise alle Rechte für den Eigentümer, aber keine Rechte für andere Benutzer festlegen möchten, verwenden Sie „chmod 700“ (4 + 2 + 1 = 7). Wenn Sie allen Benutzern nur Lese- und Schreibrechte gewähren möchten (4 + 2 = 6), verwenden Sie „chmod 666“.
Diese Werte sind allen gängigen FTP-Programmen/Clients 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 auch die Funktion „chmod“ verwenden, wie im folgenden Beispiel:
chmod ("/a_folder/a_file", 0755)Beachten Sie, dass der anzuwendende Wert oktal sein muss, daher das erforderliche vorangestellte Null. Wenn Sie den Wert in einer Variablen speichern, kann es zu einem Problem mit dem Datentyp kommen, 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: https://faq.infomaniak.com/111
War diese FAQ nützlich?