
🔐 Korrekte datei- und ordnerberechtigungen für WordPress: eine vollständige anleitung zu 755 und 644
Sie haben Ihre Website auf ein Hosting umgezogen, und plötzlich lassen sich keine Plugins mehr installieren. Oder Mediendateien werden nicht über das Admin-Panel hochgeladen. Oder ein Core-Update scheitert mit der Meldung „Could not create directory." Kommt Ihnen das bekannt vor?
Die Ursache ist fast immer dieselbe: falsche Datei- und Ordnerberechtigungen. Ein lokaler Server (OpenServer, MAMP) läuft unter dem aktuellen Windows-/macOS-Benutzer und verzeiht alles. Ein produktives Linux-Hosting tut das nicht. Jede Datei und jedes Verzeichnis hat einen Besitzer und drei Berechtigungsstufen, und wenn der Webserver nicht in den erforderlichen Ordner schreiben kann, bricht die Seite stillschweigend oder mit einer kryptischen Fehlermeldung zusammen.
Im Folgenden erfahren Sie, was 755 und 644 tatsächlich bedeuten, wie Sie diese Berechtigungen einmalig per FileZilla für die gesamte Website setzen und welche Dateien eine Sonderbehandlung erfordern.
💡 Kurzüberblick:
- Was die Zahlen 755 und 644 bedeuten und warum 777 ein Sicherheitsrisiko ist
- Wie Sie Berechtigungen per FileZilla in zwei Durchläufen stapelweise setzen: zuerst Ordner, dann Dateien
- Welche Berechtigungen wp-config.php, .htaccess und der wp-content-Ordner benötigen
- Wie Sie dasselbe per SSH mit einem Befehl in 5 Sekunden erledigen
Was Berechtigungen bedeuten und warum 777 ein Desaster ist
Jede Datei und jeder Ordner auf einem Linux-Server speichert drei Berechtigungssätze: für den Besitzer, für die Gruppe und für alle anderen. Die Zahl ist eine Summe von Bits: 4 (Lesen) + 2 (Schreiben) + 1 (Ausführen, was bei Ordnern das Betreten bedeutet).
755 für Ordner gliedert sich wie folgt: Der Besitzer darf alles (7), die Gruppe und andere dürfen lesen und betreten (5). Der Ordner ist für den Webserver zugänglich, um darin zu scannen und Dateien sowie Unterordner anzulegen, aber kein Außenstehender kann ihn löschen oder umbenennen.
644 für Dateien: Der Besitzer darf lesen und schreiben (6), andere nur lesen (4). PHP-Dateien werden vom Interpreter ausgeführt, nicht vom System, daher benötigen sie das Ausführungs-Bit nicht.
777 (Besitzer+Gruppe+Andere = alles) ist eine offene Tür. Jeder Prozess auf dem Server, einschließlich Skripte von benachbarten Seiten auf Shared Hosting, kann Ihre Dateien lesen, verändern und löschen. Laut Daten von WPScan aus 2025 gehören falsche Berechtigungen zu den fünf häufigsten WordPress-Angriffsvektoren auf Shared Hosting. Setzen Sie niemals 777. Wenn ein Plugin oder Theme solche Berechtigungen verlangt, ist das ein Warnsignal.
Welche Berechtigungen WordPress als korrekt betrachtet
Die offizielle WordPress-Dokumentation definiert die empfohlenen Berechtigungen wie folgt:
Ressource | Berechtigungen | Warum |
|---|---|---|
Ordner (alle Verschachtelungsebenen) | 755 | Der Webserver muss sie betreten und darin Dateien erstellen können |
.php-,.js-,.css-Dateien und Mediendateien | 644 | Für alle lesbar, nur für den Besitzer schreibbar |
| 600 oder 440 | Enthält Datenbankpasswörter, nur für den Besitzer lesbar |
| 644 | Wird von Apache gelesen, sollte aber extern nicht zugänglich sein |
Auf den meisten Hosts stimmt der Dateisystem-Besitzer mit dem Benutzer überein, unter dem PHP läuft (suPHP/FastCGI + suEXEC-Konfiguration). In diesem Setup sind 755/644-Berechtigungen ausreichend: WordPress kann in wp-content/uploads schreiben, den Core und Plugins aktualisieren und Themes installieren, ohne auf 777 eskalieren zu müssen.
Prüfen Sie, ob dies auf Ihren Host zutrifft: Gehen Sie ins Admin-Panel und versuchen Sie, ein beliebiges kostenloses Plugin zu installieren. Wenn die Installation ohne Abfrage von FTP-Zugangsdaten erfolgt, funktioniert das 755/644-Schema und die Berechtigungen sind bereits korrekt.
So setzen Sie Berechtigungen per FileZilla: Schritt für Schritt
FileZilla ist ein kostenloser FTP-Client, der Berechtigungen rekursiv stapelweise ändern kann. Laden Sie ihn von der offiziellen Website herunter, falls noch nicht geschehen.
Schritt 1: Verbinden und zum WordPress-Wurzelverzeichnis navigieren
Verbinden Sie sich per FTP mit Ihrem Hosting (Login/Passwort entsprechen Ihrem Hosting-Account, Port 21). Navigieren Sie im rechten Panel zum Wurzelverzeichnis der Website, wo sich wp-config.php, wp-content, wp-admin und wp-includes befinden.
Schritt 2: 755 auf alle Ordner setzen
Wählen Sie alle Dateien und Ordner im Wurzelverzeichnis aus (Ctrl+A). Rechtsklick → „Dateiberechtigungen".

Geben Sie im sich öffnenden Dialog 755 in das Feld „Numerischer Wert" ein. Aktivieren Sie das Kontrollkästchen „Unterverzeichnisse einbeziehen". Setzen Sie den Radiobutton auf „Nur auf Verzeichnisse anwenden". Klicken Sie auf OK.

FileZilla durchläuft nun jeden Ordner und Unterordner der Website und setzt 755. Der Vorgang dauert je nach Größe der Website einige Sekunden bis ein paar Minuten.
Schritt 3: 644 auf alle Dateien setzen
Wählen Sie erneut alles im Wurzelverzeichnis aus (Ctrl+A), erneut Rechtsklick → „Dateiberechtigungen".
Geben Sie nun 644 ein. Aktivieren Sie „Unterverzeichnisse einbeziehen". Setzen Sie den Radiobutton auf „Nur auf Dateien anwenden". OK.

Fertig. Zwei Durchläufe (Ordner und Dateien) und die gesamte Website ist auf den Standard gebracht.
Schnellmethode per SSH: der find-Befehl
Wenn Sie SSH-Zugriff auf den Server haben, benötigt derselbe Vorgang zwei Befehle und fünf Sekunden:
1 find /path/to/wordpress -type d -exec chmod 755 {} \; 2 find /path/to/wordpress -type f -exec chmod 644 {} \;
Der erste geht alle Ordner durch (-type d) und setzt 755. Der zweite geht alle Dateien durch (-type f) und setzt 644. Ersetzen Sie /path/to/wordpress durch den tatsächlichen Pfad zu Ihrem Website-Wurzelverzeichnis (normalerweise /home/username/public_html).
Ziehen Sie danach wp-config.php gesondert enger:
1 chmod 600 /path/to/wordpress/wp-config.php
Und .htaccess, falls vorhanden (Apache-Server):
1 chmod 644 /path/to/wordpress/.htaccess
Wenn Ihre Website auf Nginx läuft, gibt es keine .htaccess-Datei, überspringen Sie diesen Schritt also.
Was zu tun ist, wenn Berechtigungen zurückgesetzt werden
Situation: Sie haben 755/644 gesetzt, alles funktionierte, und eine Woche später erhalten Sie denselben Fehler. Die Ursache ist normalerweise ein Prozess, der unter einem anderen Benutzer läuft.
Typische Verursacher:
- Hosting-Cronjobs. Einige Hosts führen Wartungsskripte als root aus, und diese erstellen Dateien mit Berechtigungen, die der Webserver später nicht überschreiben kann. Lösung: Bitten Sie den Support, Cron so zu konfigurieren, dass es unter Ihrem Benutzer läuft.
- Backup-Plugin von Drittanbietern. Schreibt Dumps und Archive unter dem Benutzer, als der es läuft, nach
wp-content. Prüfen Sie die Plugin-Logs. Wenn es Dateien unter einem anderen Benutzer als dem Website-Besitzer erstellt, wechseln Sie zu einer Alternative. - Caching-Plugin. Erstellt Cache-Ordner mit falschen Berechtigungen. Gehen Sie in die Plugin-Einstellungen und suchen Sie nach der Schaltfläche „Cache leeren" oder „Berechtigungen zurücksetzen".
Universelle Schnelllösung: Wiederholen Sie den Vorgang aus dem obigen Abschnitt (FileZilla in 2 Durchläufen oder zwei find-Befehle). Dies behebt nicht die Ursache, stellt aber den funktionsfähigen Zustand der Website wieder her.
⁉️🤔 Häufig gestellte Fragen
Was, wenn die Website nach dem Ändern der Berechtigungen mit einem „White Screen of Death" abstürzt?
Ein White Screen (WSOD) nach stapelweiser Berechtigungsänderung ist extrem selten, aber möglich. Erstens: Aktivieren Sie
WP_DEBUGinwp-config.php, damit Sie den Fehlertext anstelle eines weißen Bildschirms sehen. Zweitens: Prüfen Sie, ob Sie versehentlich 644 auf Ordner gesetzt haben (Ordner benötigen das Ausführungs-Bit, also eine 5 am Ende). Beheben Sie dies mit einemfind-Befehl:find /path -type d -exec chmod 755 {} \;. Das reicht in den meisten Fällen. Wenn die Website immer noch nicht funktioniert, stellen Sie sie aus dem Backup wieder her und ändern Sie die Berechtigungen schrittweise: zuerst beiwp-content, dann im Wurzelverzeichnis, und beobachten Sie die Reaktionen.
Kann ich Berechtigungen über den integrierten Dateimanager des Hostings setzen?
Ja, aber nur für einzelne Dateien und Ordner. cPanel-Hosts bieten einen Dateimanager mit „Berechtigungen ändern" im Kontextmenü. Rekursiv Berechtigungen für Hunderte oder Tausende von Dateien über eine Weboberfläche zu setzen, ist jedoch praktisch unmöglich. Für Stapeloperationen verwenden Sie FileZilla oder SSH.
Welche Berechtigungen sollte der Ordner wp-content/uploads haben?
Standardmäßig 755, wie alle anderen Ordner auch. Wenn ein Plugin oder Theme Unterordner innerhalb von
uploadserstellt und es Probleme gibt, prüfen Sie den Prozessbesitzer (sollte mit dem Ordnerbesitzer übereinstimmen), anstatt die Berechtigungen auf 777 anzuheben. Manchmal wird das Problem durch Hinzufügen vondefine('FS_METHOD', 'direct');in derwp-config.phpgelöst.
Muss ich Berechtigungen für Dateien in wp-admin und wp-includes setzen?
Ja, Standard 644 für Dateien und 755 für Ordner, genau wie beim Rest der Website. Die FileZilla-Prozedur (alles im Wurzelverzeichnis auswählen) erledigt das automatisch.
Mein Host verlangt 777 für einige Ordner. Ist das normal?
Nein. Die Forderung nach 777 ist ein Zeichen dafür, dass PHP auf dem Server unter einem anderen Benutzer läuft als dem Dateibesitzer (zum Beispiel mod_php ohne suEXEC). In dieser Konfiguration kann WordPress nicht ohne „Welt"-Zugriff in Ordner schreiben. Optionen: Wechseln Sie zu einem Host, der suPHP/FastCGI verwendet (die meisten modernen tun das), oder fügen Sie
define('FS_METHOD', 'direct');in diewp-config.phpein, was manchmal ausreicht.
Korrekte Berechtigungen sind eine Grundlage, keine Option
755 für Ordner und 644 für Dateien zu setzen, schließt den häufigsten Kanal für „mysteriöse" Fehler beim Umzug einer Website. Zwei Minuten in FileZilla oder zwei SSH-Befehle sparen Stunden des Rätselratens über Logdateien.
Wenn Ihre Website auf einem guten Hosting mit suPHP/FastCGI liegt, reichen diese Berechtigungen für alles aus: Plugins installieren, Medien hochladen und automatische Core-Updates. Erhöhen Sie die Berechtigungen nicht auf 777, selbst wenn eine alte Plugin-Anleitung dies verlangt. Und behandeln Sie wp-config.php als separaten Posten: chmod 600. Sie enthält das Datenbankpasswort, und Außenstehende benötigen keinen Zugriff darauf.



