Kurz gesagt: Die Meldungen „Du musst diese Datei beschreibbar machen“ im Datei-Editor oder die Abfrage von FTP-Zugangsdaten bei Updates bedeuten: Der Webserver darf die WordPress-Dateien nicht ändern. Üblich und sicher sind die Rechte 644 für Dateien und 755 für Ordner, wobei die Dateien dem Benutzer gehören müssen, unter dem PHP läuft. Stimmt der Eigentümer nicht, hilft der Hoster. Niemals 777 setzen. Code bearbeitest du ohnehin besser per SFTP als im Backend-Editor.
Rechte und Eigentümer kurz erklärt
Auf Linux-Servern hat jede Datei einen Eigentümer, eine Gruppe und Rechte für Lesen, Schreiben und Ausführen, dargestellt als dreistellige Zahl:
| Wert | Eigentümer | Gruppe | Andere | Einsatz |
|---|---|---|---|---|
| 644 | lesen, schreiben | lesen | lesen | normale Dateien |
| 755 | lesen, schreiben, betreten | lesen, betreten | lesen, betreten | Ordner |
| 640 oder 600 | lesen, schreiben | lesen bzw. nichts | nichts | wp-config.php, wenn der Hoster es erlaubt |
| 777 | alles | alles | alles | niemals verwenden |
Entscheidend ist: Schreiben darf nur der Eigentümer. Läuft PHP unter demselben Benutzer, dem die Dateien gehören, kann WordPress Updates direkt installieren. Läuft PHP unter einem anderen Benutzer, etwa www-data, während die Dateien deinem FTP-Benutzer gehören, kann WordPress nicht schreiben und fragt nach FTP-Zugangsdaten.
Anleitung: Das Problem beheben
- Website-Zustand prüfen: Werkzeuge → Website-Zustand → Bericht → „Dateisystem-Berechtigungen“ zeigt, welche Ordner WordPress beschreiben darf.
- Rechte setzen: Per SFTP im WordPress-Verzeichnis Ordner auf 755 und Dateien auf 644 setzen, jeweils rekursiv. Viele FTP-Programme bieten dafür die Option „Nur auf Verzeichnisse“ bzw. „Nur auf Dateien anwenden“.
- Eigentümer korrigieren lassen: Hilft das nicht, liegt es am Eigentümer. Den kannst du meist nicht selbst ändern. Manche Hoster bieten im Kundenmenü eine Reparaturfunktion für Dateiberechtigungen, sonst hilft der Support des Hosters.
- Erneut testen: Ein Plugin-Update ohne FTP-Abfrage zeigt, dass es klappt.
Setzt du aus Verzweiflung 777, funktioniert zwar alles, aber jedes andere Skript auf dem Server kann dann deine Dateien verändern. Auf geteilten Servern ist das ein bekannter Weg, Schadcode einzuschleusen. Mehr zur Absicherung in WordPress sicherer machen.
Datei-Editor: Warum du ihn besser abschaltest
Unter Design → Theme-Datei-Editor und Plugins → Plugin-Datei-Editor kannst du Code direkt im Browser ändern. Das ist bequem, aber riskant: Ein Tippfehler legt die Website lahm, Änderungen an Theme-Dateien sind beim nächsten Update weg, und wer ein Admin-Passwort erbeutet, kann damit sofort Schadcode einbauen. Bearbeite Dateien lieber per SFTP und in einem Child-Theme, und schalte den Editor mit dieser Zeile in der wp-config.php ab:
define( 'DISALLOW_FILE_EDIT', true );
Für Fortgeschrittene: Rechte per Kommandozeile
# Unter welchem Benutzer läuft PHP-FPM? (auf eigenem Server)
ps -eo user,cmd | grep -m 3 php-fpm
# Eigentümer und Rechte anzeigen
ls -la
# Standardrechte setzen (im WordPress-Verzeichnis)
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chmod 640 wp-config.php
# Eigentümer setzen (nur mit Root-Rechten, Benutzer anpassen)
chown -R webuser:webuser /var/www/example.com/httpdocs
Kannst du die Eigentümer nicht angleichen, kannst du WordPress in der wp-config.php die Zugangsdaten für SFTP hinterlegen (FS_METHOD mit ssh2 oder ftpext und FTP_USER, FTP_PASS, FTP_HOST). Das spart die Abfrage, legt aber ein Passwort im Klartext ab. Die saubere Lösung ist ein korrekt eingerichtetes Hosting, bei dem PHP als dein Benutzer läuft. FS_METHOD auf direct zu zwingen, ohne dass die Rechte passen, führt nur zu fehlgeschlagenen Updates.
Upload-Probleme behandelt Hochgeladene Datei konnte nicht verschoben werden, Updates WordPress-Update durchführen, weitere Fehler Fehler systematisch beheben.
Frage dazu? Poste die Ausgabe von ls -la im Forum „Webhosting & Server“: Zum WPDE-Forum
Häufige Fragen
Warum fragt WordPress nach FTP-Daten, obwohl ich SFTP nutze?
Die Abfrage erscheint, weil WordPress nicht direkt schreiben darf. Sie ist ein Notbehelf. Besser ist es, die Eigentümer zu korrigieren.
Darf die wp-config.php 400 haben?
Wenn PHP als Eigentümer läuft, ja. Dann kann aber auch WordPress selbst sie nicht mehr ändern, was manche Plugins erwarten. 640 ist ein guter Kompromiss.