Datei- und Ordnerberechtigungen für WordPress korrekt setzen

Peer Wandigers Nischenseiten Guide

WordPress Berechtigungen richtig setzenAn und für sich ist die Installation von WordPress schnell gemacht. Wenn der Hoster nicht direkt eine One-Click-Installation bietet, dann hilft das WordPress-eigene Installationsscript durch die Grundkonfiguration. Eine Sache bleibt hierbei jedoch meist auf der Strecke: Die Datei- und Ordnerrechte. Wenn diese falsch gesetzt sind, kann es zu vielerlei Problemen kommen.

Sind die Berechtigungen zu restriktiv gesetzt, lassen sich weder Updates noch Plugins installieren oder der Dateiupload streikt. Sind sie zu „locker“ gesetzt, bieten sie eine hervorragende Einladung für Hacker und potentielle Angreifer. Deshalb möchte ich nachfolgend meine „WordPress Berechtigungsstrategie“ offenbaren, mit der ich bisher sehr gut gefahren bin. Dabei zeige ich euch einmal, wie man die WordPress-Berechtigungen in der Shell setzen kann und einmal wie man die WordPress-Berechtigungen per FTP setzt.

WordPress-Berechtigungen per Shell setzen

Wenn ihr Shell-Zugriff auf euren Server habt, dann führt folgende vier Befehle in der Shell aus.

In der ersten Zeile müsst ihr das „/var/www/mein-wordpress“ durch den Pfad eurer WordPress-Installation ersetzen. In der zweiten Zeile müsst ihr ggf. das „www-data“ durch den User ersetzen, in dessen Kontext euer Webserver/PHP läuft.

WordPress-Berechtigungen per FTP setzen

Wenn ihr keinen Shell-Zugriff auf euren Server habt (z.B. wenn ihr euren Webspace bei einem Sharehoster angemietet habt), dann könnt ihr die Berechtigungen auch per FTP-Programm setzen. Da jedes FTP-Programm eine etwas andere Oberfläche hat, beschreibe ich die Schritte nur allgemein. Solltet ihr Probleme bei der Übertragung meiner allgemeinen Anweisungen auf eurer spezielles FTP-Programm haben, hinterlasst mir einen Kommentar.

  1. Loggt euch per FTP auf eurem Webspace ein
  2. Wechselt in das WordPress-Verzeichnis
  3. Ändert den Besitzer (falls möglich) aller Dateien und Ordner auf „www-data“ bzw. den User, in dessen Kontext euer Webserver läuft.
  4. Setzt die Ordnerberechtigungen (CHMOD) für alle Ordner inkl. Unterordner (d.h. rekursiv) auf 755.
  5. Setzt die Dateiberechtigungen für alle Dateien inkl. den Dateien in Unterordnern auf 644.
Der WordPress-Club

24 Kommentare

  1. Die korrekt gesetzten Zugriffsberechtigungen sollte man nach der WordPress Installation auf jeden Fall kontrollieren. Es kann nämlich sein, dass die Standardkonfiguration des Webhosting Anbieters abweichend ist. Ich bin mit 644 bzw. 755 auch bisher immer gut gefahren. Über gängige FTP Clients wie Filezilla oder Cyberduck bekommt man das auch mit wenig Erfahrung hin.

  2. Vielen Dank für diese hilfreiche Erklärung! Selbst für Leute wie mich, die zum ersten Mal mit Wp arbeiten, ist dein Tipp verständlich und anwendbar.
    Ich habe Stunden nach diesen Problem gegoogelt und viele Lösungsansätze gefunden, die mir aber alle nicht wirklich geholfen haben, erst durch die Befolgung deiner Schritt für Schritt Anleitung könnte ich endlich mein Problem lösen.
    Also: vielen Dank nochmal.
    LG Johanna

    1. Dann hat dein FTP-User nicht ausreichende Rechte. Hast du den Ordner vielleicht mit einem anderen User angelegt? (z.B. per Shell/SCP/Putty/PHP-Script) Wenn ja, dann entweder Change mod mit dem „Anlege“-User ausführen oder per Root den Ordner auf deinen FTP-User übertragen bzw. den FTP-User einen Gruppe hinzufügen, der auch der Ordner angehört.

    1. Hallo Kristin,

      das sollte sich bei WooCommerce nichts nehmen. Wenn du sicher gehen willst, kannst du jedoch im WordPress-Backend in den Menüpunkt „WooCommerce –> Systemstatus“ gehen. Dort wird dir angezeigt, ob alle nötigen Schreib-/Leserechte vorhanden sind oder ob du noch irgendwo nacharbeiten musst.

    1. Inwiefern ist das bei dir eine Grafik? So sollte das nicht sein… In der Code-Box unter der Zwischenüberschrift „WordPress-Berechtigungen per Shell setzen“ kann ich mit der Maus reinklicken und mit gedrückter Maustaste den Code markieren und mit Strg+C kopieren.
      Darf ich fragen, welchen Browser du verwendest und ob du ggf. Plugins nutzt, die Scripte entfernen?

  3. Hallo ich habe das Problem das mein Synology die rechte bei der zweiten Seite einfach auf 777 setzt und ich kann sie nicht ändern. Aber wenn ich denn Ordner auf mei. Laptop kopiere und da ändere auf 755 bleibt es dann auch so. Wenn ich dann denn Ordner wieder zurück kopiere ist es wider auf 777. “ Ordener= Uploads“ habe probleme die Bilder in die Worpress zu bringen. Keine Berechtigung.

  4. Noch ein Neuling, der sich bedanken möchte. Bei der automatischen Installation ist wohl irgend etwas daneben gegangen und nun habe ich ewig mit diesen Berechtigungen herum gemurxt. Nach dieser Beschreibung ging nun alles ganz einfach – und entspricht hoffentlich auch den Sicherheitsanforderungen.

  5. Du hast mir gerade das Leben gerettet :) Ich habe versucht eine die Dateien, insbesondere den Footer, für den Editor beschreibbar zu machen…. Als Ergebnis hatte ich dann die Seite vom Geschäft meiner Frau Down. Nun gut, jetzt werde ich mir erstmal ne Bastelseite zum Experimentieren erstellen :)

  6. Hallo,
    ich habe wo Multi sites. Nutze optinizepress und sehe meine hochgelegenen templates nicht.

    Bei wp selbst kann ich es Hochadel aber nicht bei optinizepress press. Und über ftp wird schwer, da ich multisites habe und nicjtvdirekt auf die eine Website zugreifen über frp

  7. Hallo,

    ich habe die Rechte wie oben mit shell gesetzt, kann aber keine neuen Themes hochladen. Wenn ich auf „Upload Theme“ klicke, dann bleibt das ohne Funktion.
    Hast du eine Ahnung an was das liegen könnte?

  8. Danke für den Tipp Raffael
    Irgendwie waren bei mir die Ordner Rechte auf 705 eingestellt.
    Hab es jetzt mal korrigiert. Vielen Dank!

    Grüße Domi

  9. Ich komme nach der Bearbeitung gar nicht mehr auf die Webseite.
    Bei der Index erhalte ich die Meldung vom Provider, dass die Seite im Aufbau ist.
    Bei /wp-admin erscheint error 403.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert