399 Stimmen

Richtige Dateiberechtigungen für WordPress

Ich habe mir das hier angesehen, aber keine Details zu den besten Dateiberechtigungen gefunden. Ich habe auch einige Fragen zu WordPress-Formularen hier angesehen, aber jeder, der 777 vorschlägt, braucht offensichtlich eine kleine Lektion in Sicherheit.

Kurz gesagt, hier ist meine Frage. Welche Berechtigungen sollte ich für Folgendes haben:

  1. Root-Verzeichnis, in dem alle WordPress-Inhalte gespeichert sind
  2. wp-admin
  3. wp-content
  4. wp-includes

und dann alle Dateien in jedem dieser Ordner?

10voto

Kappa Punkte 1015

Richtige Berechtigungen für die Datei sind 644 Richtige Berechtigungen für den Ordner sind 755

Um die Berechtigungen zu ändern, verwenden Sie das Terminal und folgende Befehle.

find Ordnername -type d -exec chmod 755 {} \;
find Ordnername -type f -exec chmod 644 {} \;

755 für Ordner und 644 für Dateien.

8voto

shasi kanth Punkte 6787

Ich denke, die unten stehenden Regeln werden für eine Standard-Wordpress-Seite empfohlen:

  • Für Ordner innerhalb von wp-content, setzen Sie Berechtigungen auf 0755:

    chmod -R 0755 plugins

    chmod -R 0755 uploads

    chmod -R 0755 upgrade

  • Lassen Sie den Apache-Benutzer der Besitzer für die oben genannten Verzeichnisse von wp-content sein:

    chown apache uploads

    chown apache upgrade

    chown apache plugins

8voto

Don Dilanga Punkte 2060

Es hängt tatsächlich von den Plugins ab, die du verwenden möchtest, da einige Plugins das Stammverzeichnis des WordPress ändern. Aber im Allgemeinen empfehle ich etwas Ähnliches wie dies für das WordPress-Verzeichnis.

Dies weist den "root" (oder den Benutzer, den du verwendest) als Benutzer in jeder einzelnen Datei/Ordner zu, R bedeutet rekursiv, so dass es nicht nur beim "html"-Ordner stoppt. Wenn du kein R verwendest, gilt es nur für das "html"-Verzeichnis.

sudo chown -R root:www-data /var/www/html  

Dies setzt den Eigentümer/Gruppe von "wp-content" auf "www-data" und ermöglicht somit dem Webserver, die Plugins über das Administrationspanel zu installieren.

chown -R www-data:www-data /var/www/html/wp-content

Dies setzt die Berechtigung jeder einzelnen Datei im "html"-Ordner (einschließlich Dateien in Unterverzeichnissen) auf 644, damit Personen von außen keine Datei ausführen, ändern können, Gruppen keine Datei ausführen, ändern können und nur der Benutzer berechtigt ist, Dateien zu ändern/lesen, aber selbst der Benutzer kann keine Datei ausführen. Dies ist wichtig, weil jede Art von Ausführung im "html"-Ordner verhindert wird. Außerdem kann www-data außerhalb des wp-content-Ordners keine Datei ändern, sodass selbst bei einer Sicherheitslücke im Webserver und wenn jemand unbefugt auf die Website zugreift, sie die eigentliche Website nicht löschen können, außer die Plugins.

sudo find /var/www/html -type f -exec chmod 644 {} +

Dies beschränkt die Berechtigung zum Zugriff auf "wp-config.php" auf Benutzer/Gruppe mit rw-r----- diesen Berechtigungen.

chmod 640 /var/www/html/wp-config.php

Und wenn ein Plugin oder Update sich beschwert, dass es nicht aktualisieren kann, greife auf SSH zu und verwende diesen Befehl, und gewähre der temporären Berechtigung an "www-data" (Webserver), um über das Administrationspanel zu aktualisieren/installieren, und kehre dann zu "root" oder deinem Benutzer zurück, sobald es abgeschlossen ist.

chown -R www-data /var/www/html

Und bei Nginx (gleiches Verfahren für Apache), um den Zugriff auf den wp-admin-Ordner vor unbefugtem Zugriff und Sondierung zu schützen. Apache2-utils ist erforderlich, um das Passwort zu verschlüsseln, auch wenn du Nginx installiert hast, lass das c weg, wenn du planst, weitere Benutzer zur gleichen Datei hinzuzufügen.

sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd Benutzername

Gehe nun zu diesem Ort.

/etc/nginx/sites-available/

Verwende diese Codes, um den "wp-admin"-Ordner mit einem Passwort zu schützen, nun wird es nach dem Passwort/Username fragen, wenn du versuchst auf den "wp-admin"-Bereich zuzugreifen. Beachte, hier verwendest du die ".htpasswd"-Datei, die das verschlüsselte Passwort enthält.

location ^~ /wp-admin {
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;
    index  index.php index.html index.htm;
}

Starte nun Nginx neu.

sudo /etc/init.d/nginx restart

2voto

Befehle:

chown www-data:www-data -R *
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

Wo ftp-Benutzer der Benutzer ist, den Sie zum Hochladen der Dateien verwenden

chown -R ftp-Benutzer:www-data wp-content
chmod -R 775 wp-content

2voto

user296526 Punkte 404

Um absolut sicherzustellen, dass Ihre Website sicher ist und Sie die richtigen Berechtigungen für Ihre Ordner verwenden, verwenden Sie ein Sicherheits-Plugin wie diese:

https://en-ca.wordpress.org/plugins/all-in-one-wp-security-and-firewall/

https://en-ca.wordpress.org/plugins/wordfence/

Diese Plugins werden Ihre Wordpress-Installation scannen und Sie über mögliche Probleme informieren. Sie werden Sie auch über unsichere Ordnerberechtigungen warnen. Darüber hinaus empfehlen Ihnen diese Plugins, welche Berechtigungen den Ordnern zugewiesen werden sollten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X