Wer mit seinem Blog schon mal umgezogen ist, den Webspace gewechselt oder einfach eine WordPress-Installation mehrere Jahre betrieben hat, der wird irgendwann feststellen – mmmh, der eine oder andere Ordner oder die eine oder andere Datei lässt sich mit normalen FTP Berechtigungen nicht mehr löschen oder bearbeiten. Solltet ihr so ein Verhalten bei Euch im Blog feststellen, ist es wohl höchste Zeit sich mit den Dateiberechtigungen, bzw. den Ordnerberechtigungen auseinander zu setzen. Wobei ich vermute – genau aus diesem Grund seid ihr ihr auf diesem Beitrag gestoßen.
Im Grunde müssen wir drei Dinge tun, um wieder eine gewisse Ordnung ins System zu bekommen!
Schritt 1: Berechtigungen für Nutzer und Gruppe über die gesamte Installation neu verteilen.
Um hier keinen Fehler zu machen, geht ihr am einfachsten wie folgt vor:
Öffnet Euer FTP Programm und ladet Euch ein einfaches File darüber hoch.
Dann wechselt ihr auf die SSH Umgebung, navigiert an die Stelle in der ihr das File abgelegt habt und führt dort einfach eine Auflistung aller Dateien durch.
Je nach System kann der Befehl dafür etwas anders lauten. In meinem Debian Umfeld kann man dies mittels „ll“ erreichen.
Hier setz ihr nun die Berechtigung welche für den Nutzer gesetzt werden muss.
Hier im Beispiel „itlernet“ und „psacln“ . Diese müssen wir nun über unsere ganze Installation verteilen, was natürlich am einfachsten direkt auf unterster Ebene erfolgen sollte.
Der Befehl dafür lautet wie folgt:
chown itlernet:psacln -R *
Betreibt ihr nur einen einfachen Webserver könnte der Befehl auch wie folgt aussehen:
chown www-data:www-data -R *
…wie ihr seht, ist die Anpassung der Nutzer sehr wichtig, sonst geht danach gar nichts mehr!
Schritt 2: Ordnerberechtigungen setzen
Für die Ordner wählen wir die Stufe „755“
find . -type d -exec chmod 755 {} \;
Dieser Befehl durchsucht das Dateisystem nach Ordner und passt das Zugriffslevel an.
Schritt 3: Dateiberechtigung ändern
Das gleiche Verfahren verwenden wir nun bei Dateien:
find . -type f -exec chmod 644 {} \;
Hier wählen wir die 644 als globale Berechtigung.
Einzig beim File „wp-config.php“ macht es Sinn, die Berechtigung noch weiter herunter zu schrauben.
Hier würde eine 440er Berechtigung einen Sinn ergeben:
wp-config.php chmod 440
Tja, und damit wäre wir auch schon durch! ;)
Wer möchte kann diese Berechtigungen natürlich auch über den FTP Zugang setzen. Dies dauert zwar etwas länger, aber spielt ja nicht die große Rolle. Problem ist dann nur, wenn der FTP User zum Beispiel keine Berechtigung auf automatisch generierte Files vom System hat.