Dateiberechtigungen (englisch file permissions) legen fest, wer eine Datei oder ein Verzeichnis lesen, schreiben oder ausführen darf. Unter Linux werden sie als dreistellige Oktalzahl dargestellt: die erste Ziffer gilt für den Eigentümer, die zweite für die Gruppe, die dritte für alle anderen. Jede Ziffer setzt sich aus Lesen (4), Schreiben (2) und Ausführen (1) zusammen. Falsch gesetzte Berechtigungen – allen voran das verbreitete, aber gefährliche 777 – erlauben es beliebigen Benutzern oder gehackten Nachbar-Accounts auf einem Shared Server, Ihre Dateien zu verändern und Schadcode einzuschleusen. Die WordPress-Empfehlung lautet: 755 für Verzeichnisse, 644 für Dateien und ein strengeres 600 oder 640 für wp-config.php. Diese Anleitung zeigt, wie Sie diese Werte per SSH oder SFTP setzen und welche Sonderfälle zu beachten sind.
Was bedeuten 755 und 644?
| Wert | Bedeutung | Verwendung |
|---|---|---|
| 755 | Eigentümer: lesen+schreiben+ausführen; Gruppe/andere: lesen+ausführen | Alle Verzeichnisse (Ausführen = hineinwechseln) |
| 644 | Eigentümer: lesen+schreiben; Gruppe/andere: nur lesen | Alle normalen Dateien |
| 600 | nur Eigentümer: lesen+schreiben | wp-config.php (streng) |
| 640 | Eigentümer: lesen+schreiben; Gruppe: lesen | wp-config.php (falls Gruppe lesen muss) |
| 777 | jeder: lesen+schreiben+ausführen | Niemals verwenden |
Schritt 1: Verzeichnisse auf 755 setzen
Wechseln Sie per SSH ins WordPress-Stammverzeichnis und setzen Sie alle Ordner rekursiv:
cd /pfad/zu/wordpress
find . -type d -exec chmod 755 {} \;Schritt 2: Dateien auf 644 setzen
find . -type f -exec chmod 644 {} \;Diese beiden Befehle setzen die gesamte Installation auf sichere Standardwerte. Führen Sie sie in dieser Reihenfolge aus (erst Verzeichnisse, dann Dateien).
Schritt 3: Sonderfälle behandeln
wp-config.php
Die sensibelste Datei erhält eine strengere Berechtigung:
chmod 600 wp-config.php
# oder, falls der Webserver-Prozess über die Gruppe lesen muss:
chmod 640 wp-config.php.htaccess
Die .htaccess bleibt bei 644. Setzen Sie sie nicht schreibbar für andere, sonst könnten Angreifer Rewrite-Regeln manipulieren.
wp-content/uploads
Der Upload-Ordner muss vom Webserver beschreibbar sein, damit Medien-Uploads funktionieren. 755 für die Ordner reicht in der Regel – entscheidend ist, dass der Eigentümer stimmt (siehe Schritt 4). Vergeben Sie hier kein 777. Wichtig: In uploads dürfen keine PHP-Dateien ausführbar sein. Ergänzen Sie zur Absicherung:
# .htaccess in wp-content/uploads/ (Apache)
<Files *.php>
Require all denied
</Files>Schritt 4: Den richtigen Eigentümer setzen
Fast wichtiger als die Zahlen ist der Eigentümer der Dateien. Alle WordPress-Dateien sollten dem Benutzer gehören, unter dem der Webserver bzw. PHP-Prozess läuft (oft www-data, apache, nginx oder Ihr SFTP-Benutzer). Prüfen und setzen:
# Aktuellen Eigentümer anzeigen
ls -l
# Eigentümer und Gruppe rekursiv setzen (Beispiel www-data)
sudo chown -R www-data:www-data /pfad/zu/wordpressStimmt der Eigentümer, kann WordPress Updates und Uploads durchführen, ohne dass Sie die Berechtigungen aufweichen müssen. Ein häufiger Fehler ist, bei Update-Problemen vorschnell auf 777 zu gehen, obwohl in Wahrheit nur der Eigentümer falsch ist.
Schnell alles auf einmal (Skript)
#!/bin/bash
# Im WordPress-Stammverzeichnis ausführen
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chmod 600 wp-config.php
echo "Dateiberechtigungen gesetzt: 755 Ordner, 644 Dateien, 600 wp-config.php"Wie prüfe ich die Berechtigungen?
- Einzelne Datei prüfen:
ls -l wp-config.php index.php # Erwartet: -rw------- für wp-config.php, -rw-r--r-- für index.php - Nach unsicheren 777-Rechten suchen:
find . -type d -perm 0777 find . -type f -perm 0777 # Erwartet: keine Ausgabe - Prüfen, dass PHP im Uploads-Ordner nicht ausgeführt wird, indem Sie eine Test-Datei aufrufen (sollte 403 liefern).
Häufige Fehler
- 777 als schnelle Lösung: Behebt Update-Probleme scheinbar, öffnet aber Tür und Tor. Fast immer ist der Eigentümer das eigentliche Problem.
- Ausführbare Skripte in uploads: Ohne PHP-Sperre im Upload-Ordner kann eine hochgeladene Schaddatei ausgeführt werden.
- Berechtigungen nach Migration vergessen: Nach einem Server- oder Hosterwechsel stimmen Eigentümer und Rechte oft nicht mehr – erneut setzen.
- Shared Hosting ohne SSH: Dort setzen Sie die Rechte im SFTP-Client (Rechtsklick » Berechtigungen) oder im Dateimanager des Hosting-Panels.
Häufige Fragen (FAQ)
Welche Dateiberechtigungen sind für WordPress empfohlen?
Die WordPress-Empfehlung lautet 755 für alle Verzeichnisse, 644 für alle normalen Dateien und ein strengeres 600 oder 640 für die wp-config.php. Verzeichnisse benötigen das Ausführungsrecht, um hineinwechseln zu können, deshalb 755 statt 644.
Warum ist die Berechtigung 777 in WordPress gefährlich?
777 erlaubt jedem Benutzer auf dem Server, die Datei oder den Ordner zu lesen, zu ändern und auszuführen. Auf Shared Hosting kann ein gehackter Nachbar-Account so Schadcode in Ihre Installation einschleusen. In fast allen Fällen ist nicht die Berechtigung, sondern der falsche Dateieigentümer die eigentliche Ursache von Update-Problemen.
Warum ist der Dateieigentümer wichtiger als die Zahlen?
Alle WordPress-Dateien sollten dem Benutzer gehören, unter dem der Webserver bzw. PHP-Prozess läuft (oft www-data, apache oder nginx). Stimmt der Eigentümer, kann WordPress Updates und Uploads durchführen, ohne dass Sie die Berechtigungen auf unsichere Werte wie 777 aufweichen müssen.
Wie verhindere ich, dass PHP-Dateien im Upload-Ordner ausgeführt werden?
Legen Sie in wp-content/uploads eine .htaccess an, die den Zugriff auf PHP-Dateien verweigert (bei Apache mit einem <Files>-Block und Require all denied). So kann eine hochgeladene Schaddatei nicht als PHP ausgeführt werden, selbst wenn sie in den Upload-Ordner gelangt.
Wie hilft InspectWP bei Dateiberechtigungen?
InspectWP kann von außen keine Dateisystem-Rechte auslesen, prüft aber symptomatische Folgen unsicherer Konfigurationen: etwa ob sensible Dateien öffentlich abrufbar sind, ob im Upload-Verzeichnis PHP ausgeführt wird oder ob ein Verzeichnis-Listing offen liegt. Solche Funde im Report sind ein starkes Signal, die Datei- und Ordnerberechtigungen zu überprüfen.