Zum Inhalt springen

08Website-Wissen & Fehlercodes

Datei- und Ordnerrechte – chmod 644, 755 und 777 erklärt

Was Dateirechte sind, wie chmod-Zahlen wie 644, 755 und 600 funktionieren, warum 777 gefährlich ist und welche Rechte WordPress bei Nexthosting braucht.

Kurz gesagt

Dateien bekommen meist 644, Ordner 755, sensible Dateien wie wp-config.php 600 oder 640. Rechte 777 („alle dürfen alles“) sind fast nie richtig und ein Sicherheitsrisiko. Falsche Rechte verursachen Fehler 403, 500 oder „Datei kann nicht gespeichert werden“.

Jede Datei und jeder Ordner auf einem Linux-Server hat:

  • einen Besitzer (Benutzer),
  • eine Gruppe,
  • Rechte für drei Gruppen von Personen: Besitzer, Gruppe und alle anderen.

Für jede Gruppe gibt es drei Rechte:

Buchstabe Zahl Bei Dateien Bei Ordnern
r (read) 4 lesen Inhalt auflisten
w (write) 2 ändern Dateien anlegen und löschen
x (execute) 1 ausführen hineinwechseln

Die Zahl einer Gruppe ist die Summe: Lesen + Schreiben = 4 + 2 = 6, Lesen + Ausführen = 4 + 1 = 5, alles = 7. Drei Ziffern nebeneinander ergeben den Wert: Besitzer, Gruppe, andere.

644 = rw- r-- r--
| | |
| | +-- alle anderen: nur lesen
| +------- Gruppe: nur lesen
+------------ Besitzer: lesen und schreiben
Wert Bedeutung Typisch für
644 Besitzer lesen und schreiben, andere nur lesen normale Dateien (PHP, HTML, Bilder)
755 Besitzer alles, andere lesen und betreten Ordner, Skripte
600 Nur der Besitzer darf lesen und schreiben geheime Dateien (Zugangsdaten)
640 Besitzer lesen und schreiben, Gruppe lesen sensible Dateien, wenn der Webserver per Gruppe liest
400 Nur der Besitzer darf lesen private Schlüssel (.key)
700 Nur der Besitzer hat Zugriff private Ordner
777 Alle dürfen alles nicht verwenden

Die meisten Programme (FileZilla, WinSCP, Cyberduck) zeigen die Rechte in einer Spalte. Mit Rechtsklick auf die Datei wählst du Dateiberechtigungen (oder ähnlich) und gibst die Zahl ein oder setzt Häkchen. Anleitung für den Zugang: Dateien hochladen per SFTP.

SSH ist bei Nexthosting im Webspace in jedem Tarif verfügbar, bei WordPress Hosting ab dem Tarif Basic.

Terminal-Fenster
# Rechte ansehen
ls -l
ls -la wp-config.php
# Eine Datei ändern
chmod 644 datei.php
# Einen Ordner ändern
chmod 755 ordner
# Alle Ordner und Dateien im Website-Verzeichnis zurücksetzen
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
# Sensible Datei schützen
chmod 600 wp-config.php

Die Ausgabe von ls -l sieht so aus:

-rw-r--r-- 1 benutzer gruppe 4210 Okt 18 10:12 index.php
drwxr-xr-x 5 benutzer gruppe 4096 Okt 18 10:12 wp-content

Das erste Zeichen sagt, ob es eine Datei (-) oder ein Ordner (d) ist. Danach folgen dreimal rwx: Besitzer, Gruppe, andere.

Rechte allein reichen nicht. Auch der Besitzer muss stimmen. Wenn Dateien einem anderen Benutzer gehören als dem, unter dem deine Website läuft, kann PHP sie nicht ändern, selbst bei 755. Das passiert nach Wiederherstellungen, Umzügen oder wenn Dateien mit einem anderen Zugang hochgeladen wurden. Dann kannst du den Besitzer meist nicht selbst ändern. Wende dich an den Support (Support) und nenne den Pfad.

Pfad Rechte Hinweis
Ordner allgemein 755
Dateien allgemein 644
wp-config.php 600 oder 640 Enthält Datenbank-Zugang und Schlüssel. Nicht öffentlich lesbar machen.
wp-content/uploads 755 (Ordner), 644 (Dateien) WordPress muss hier schreiben können
.htaccess 644 Bei Permalink-Änderungen muss WordPress sie schreiben können

Für Updates über das WordPress-Dashboard muss der Webserver-Benutzer Dateien ändern dürfen. Das hängt am Besitzer, nicht an 777.

Mehr zur Pflege von WordPress: WordPress pflegen.

Symptom Mögliche Ursache Lösung
403 Forbidden bei einer Datei Rechte zu streng (z. B. 600 bei Bildern) 644 setzen
403 auf der ganzen Seite Hauptordner nicht lesbar Ordner 755
500 Internal Server Error 777 auf Skripten, falsche Besitzer 644/755 setzen
„Datei konnte nicht gespeichert werden“ Ordner nicht beschreibbar oder falscher Besitzer Rechte und Besitzer prüfen
Upload scheitert uploads nicht beschreibbar Besitzer prüfen
Plugin-Installation scheitert WordPress darf nicht schreiben Besitzer prüfen

Mehr: Fehler 403 und Fehler 500.

Welche Rechte soll ich setzen?
Normale Datei (PHP, HTML, Bild)644
Ordner755
Datei mit Passwörtern (wp-config.php, .env)600 oder 640
Privater Schlüssel400 oder 600

Meine Anleitung sagt, ich soll alles auf 777 setzen. Darf ich?

Abschnitt betitelt „Meine Anleitung sagt, ich soll alles auf 777 setzen. Darf ich?“

Nein. Setze 644 bzw. 755 und prüfe den Besitzer. Wenn es dann nicht geht, frage den Support.

Ja, etwa mit chmod -R 000. Notiere vorher den Ausgangszustand und mache ein Backup (Backups und Wiederherstellung).

Ohne x kann niemand in den Ordner wechseln, auch wenn er ihn lesen darf. Ordner brauchen deshalb fast immer 755.