Richtige Dateiberechtigungen für WordPress [geschlossen]


399

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

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

  1. Stammordner, in dem der gesamte WordPress-Inhalt gespeichert ist
  2. wp-admin
  3. wp-Inhalt
  4. wp-enthält

und dann alle Dateien in jedem dieser Ordner?


Grundsätzlich sollte nur der Wordpress-Upload-Ordner 777 sein, dies wäre jedoch eine ernsthafte Sicherheitsbedrohung. Wenn Sie einen Server mit aktiviertem Suphp verwenden, müssen Sie die Berechtigungen nicht manuell ändern.
Ali F

4
Ich stimme dafür, diese Frage als nicht zum Thema gehörend zu schließen, da sie gemäß dem Tag-Wiki-Auszug nicht zum Thema gehört: "Zu den Fragen außerhalb des Themas gehören Fragen zur Themenentwicklung, zur WordPress-Verwaltung, zu Best Practices für das Management, zur Serverkonfiguration usw."
Adriaan

Antworten:


499

Wenn Sie WP einrichten, benötigen Sie (der Webserver) möglicherweise Schreibzugriff auf die Dateien. Daher müssen die Zugriffsrechte möglicherweise lose sein.

chown www-data:www-data  -R * # Let Apache be owner
find . -type d -exec chmod 755 {} \;  # Change directory permissions rwxr-xr-x
find . -type f -exec chmod 644 {} \;  # Change file permissions rw-r--r--

Nach dem Setup sollten Sie die Zugriffsrechte verschärfen . Laut Hardening WordPress sollten alle Dateien außer wp-content nur von Ihrem Benutzerkonto beschreibbar sein. wp-content muss auch von www-data beschreibbar sein.

chown <username>:<username>  -R * # Let your useraccount be owner
chown www-data:www-data wp-content # Let apache be owner of wp-content

Vielleicht möchten Sie den Inhalt in wp-content später ändern. In diesem Fall könnten Sie

  • vorübergehend zum Benutzer wechseln zu www-Daten mit su,
  • Geben Sie wp-content group Schreibzugriff 775 und treten Sie der Gruppe www-data oder bei
  • Geben Sie Ihrem Benutzer mithilfe von ACLs die Zugriffsrechte auf den Ordner .

Stellen Sie auf jeden Fall sicher, dass die Dateien über RW-Berechtigungen für WWW -Daten verfügen .


2
Kornel gibt unten einen solchen maßgeblichen Link. Siehe auch codex.wordpress.org/Changing_File_Permissions , Apaches Dokument httpd.apache.org/docs/2.2/misc/security_tips.html und so ziemlich jede Google-Suche zu diesem Thema. Aber im allgemeinen Fall, wenn Sie Zweifel haben, geben Sie keinen Schreibzugriff (und sicherlich kein Eigentum) und lösen Sie von Fall zu Fall, nicht das Gegenteil (Prinzip des geringsten Privilegs, das Sie hier verletzen).
Calimo

22
Warum gibt es eine automatische Aktualisierungsfunktion, wenn sie nicht funktioniert, ohne die Berechtigungen zu ändern?
Malhal

6
@ ManuelSchneid3r, ich sehe einige PHP-Dateien unter wp-content, sollen diese wirklich von www-data??? Das klingt wirklich überhaupt nicht sicher.
Alexis Wilke

12
Diese Lösung verhindert, dass WordPress "automatische Sicherheitsupdates" installiert. Sie müssen die obigen Schritte für jedes kleinere WordPress-Update manuell ausführen.
Jeroen

11
Dies ist keine sichere Konfiguration. Das Festlegen von Leseberechtigungen für diese Dateien hat keine Auswirkungen, wenn der Apache-Benutzer auch die Dateien besitzt! VERWENDE NICHT. Siehe codex.wordpress.org/Changing_File_Permissions
PodTech.io

60

Es www-datakann gefährlich sein , dem Benutzer (in diesem Fall dem Webserver-Benutzer) den vollständigen Zugriff auf alle WP-Dateien zu gewähren . Also mach das lieber NICHT :

chown www-data:www-data -R *

Dies kann jedoch in dem Moment nützlich sein, in dem Sie WordPress und seine Plug-Ins installieren oder aktualisieren. Aber wenn Sie fertig sind, ist es keine gute Idee mehr, wp-Dateien im Besitz des Webservers zu behalten.

Grundsätzlich kann der Webserver jede Datei auf Ihrer Website einfügen oder überschreiben. Dies bedeutet, dass die Möglichkeit besteht, Ihre Website zu übernehmen, wenn es jemandem gelingt, den Webserver (oder eine Sicherheitslücke in einem .php-Skript) zum Einfügen einiger Dateien in Ihre Website zu verwenden.

Um Ihre Site vor einem solchen Angriff zu schützen, sollten Sie Folgendes tun:

Alle Dateien sollten Ihrem Benutzerkonto gehören und von Ihnen beschreibbar sein. Jede Datei, die Schreibzugriff von WordPress benötigt, sollte vom Webserver beschreibbar sein. Wenn Ihre Hosting-Einrichtung dies erfordert, kann dies bedeuten, dass diese Dateien dem Benutzerkonto gehören müssen, das vom Webserverprozess verwendet wird.

/

Das WordPress-Stammverzeichnis: Alle Dateien sollten nur von Ihrem Benutzerkonto beschreibbar sein, mit Ausnahme von .htaccess, wenn WordPress automatisch Umschreiberegeln für Sie generieren soll.

/wp-admin/

Der WordPress-Verwaltungsbereich: Alle Dateien sollten nur von Ihrem Benutzerkonto beschreibbar sein.

/wp-includes/

Der Großteil der WordPress-Anwendungslogik: Alle Dateien sollten nur von Ihrem Benutzerkonto beschreibbar sein.

/wp-content/

Vom Benutzer bereitgestellter Inhalt: Soll von Ihrem Benutzerkonto und dem Webserverprozess beschreibbar sein.

In /wp-content/dir finden Sie:

/wp-content/themes/

Themendateien. Wenn Sie den integrierten Themeneditor verwenden möchten, müssen alle Dateien vom Webserverprozess beschreibbar sein. Wenn Sie den integrierten Themeneditor nicht verwenden möchten, können alle Dateien nur von Ihrem Benutzerkonto geschrieben werden.

/wp-content/plugins/

Plugin-Dateien: Alle Dateien sollten nur von Ihrem Benutzerkonto beschreibbar sein.

Andere Verzeichnisse, die möglicherweise vorhanden sind, /wp-content/sollten von dem Plugin oder Thema dokumentiert werden, das sie benötigt. Berechtigungen können variieren.

Quelle und zusätzliche Informationen: http://codex.wordpress.org/Hardening_WordPress


von Ihrem Benutzerkonto. bedeutet der Benutzer, der die PHP-Skripte auf der Site ausführt (normalerweise der Apache-Benutzer)?
Shasi Kanth

4
@shasikanth Nein, der Apache-Benutzer ist derjenige, den er als "Webserver-Prozess" bezeichnet. Benutzerkonto ist Ihr Linux-Benutzer (SSH, FTP-Benutzer usw.)
Daniel Bang

Sollte der Benutzer (nicht die WWW-Daten) in dieser Antwort und in der akzeptierten Antwort Teil der WWW-Datengruppe sein?
user658182

1
Nein, das ist der springende Punkt.
Piotr Nawrot

1
Das Problem ist, dass Wordpress jedes Mal, wenn ich meinen SSH-Benutzer zum Eigentümer von / wp-content / plugins / mache, innerhalb des Administrators aufgrund der ständigen FTP-Popup-Routine oder Berechtigungsfehlern völlig funktionsunfähig wird. Plugins können weder hinzugefügt noch aktualisiert werden. Nur wenn ich www-data zum Eigentümer von wp-Inhalten mache, funktioniert die Funktionalität des Wordpress Admin-Plugins. (Beispiel: sudo chown www-data: www-data -R / var / www / html / wp-content /)
Heres2u

26

Für diejenigen, die ihren WordPress-Stammordner unter ihrem Basisordner haben:

** Ubuntu / Apache

  1. Fügen Sie Ihren Benutzer zur www-Datengruppe hinzu:

KREDIT Erteilen von Schreibberechtigungen für die www-Datengruppe

Sie möchten usermodIhren Benutzer anrufen . Das wäre also:

sudo usermod -aG www-data yourUserName

** Angenommen, eine www-dataGruppe existiert

  1. Überprüfen Sie, ob Ihr Benutzer in einer www-dataGruppe ist:

    groups yourUserName

Sie sollten etwas bekommen wie:

youUserName : youUserGroupName www-data

** youUserGroupName ähnelt normalerweise Ihrem Benutzernamen

  1. Ändern Sie rekursiv den Gruppenbesitz des Ordners wp-content, wobei Sie den Besitz Ihres Benutzers beibehalten

    chown yourUserName:www-data -R youWebSiteFolder/wp-content/*

  2. Wechseln Sie in das Verzeichnis youWebSiteFolder / wp-content /

    cd youWebSiteFolder/wp-content

  3. Ändern Sie rekursiv die Gruppenberechtigungen der Ordner und Unterordner, um Schreibberechtigungen zu aktivieren:

    find . -type d -exec chmod -R 775 {} \;

** Der Modus von `/ home / yourUserName / youWebSiteFolder / wp-content / 'wurde von 0755 (rwxr-xr-x) auf 0775 (rwxrwxr-x) geändert.

  1. Ändern Sie die Gruppenberechtigungen der Dateien und Unterdateien rekursiv, um Schreibberechtigungen zu aktivieren:

    find . -type f -exec chmod -R 664 {} \;

Das Ergebnis sollte ungefähr so ​​aussehen:

WAS:
-rw-r--r--  1 yourUserName www-data  7192 Oct  4 00:03 filename.html
CHANGED TO:
-rw-rw-r--  1 yourUserName www-data  7192 Oct  4 00:03 filename.html

Gleichwertig:

chmod -R ug + rw Ordnername

Die Berechtigungen betragen 664 für Dateien oder 775 für Verzeichnisse.

Ps Wenn jemand 'could not create directory'beim Aktualisieren eines Plugins auf einen Fehler stößt , gehen
server@user:~/domainame.com$ sudo chown username:www-data -R wp-content
Sie wie folgt vor: Wenn Sie sich im Stammverzeichnis Ihrer Domain befinden.
Angenommen: Verfügtwp-config.php über
FTP-Anmeldeinformationen für LocalHost
define('FS_METHOD','direct');


10
-1. Sie möchten NICHT, dass www-Daten Schreibzugriff auf die WordPress-Dateien haben, außer in wp-Inhalten.
Calimo

775 in wp-content hilft. Mit 644 für Dateien, 755 für Ordner und chown user: www-data hatte ich manchmal immer noch Probleme mit dem Hochladen von Medien, dem Plugin-Update usw. 775 ermöglicht das Ändern von wp-Inhalten durch www-data: www-data , was das Problem löst.
guylabbe.ca

Entfernen Sie das -R aus dem Befehl find / chmod, da es langsam und unnötig ist.
Adam Jimenez

20

Lesen Sie am besten die WordPress-Dokumentation unter https://wordpress.org/support/article/changing-file-permissions/.

  • Alle Dateien sollten dem tatsächlichen Benutzerkonto gehören, nicht dem Benutzerkonto, das für den httpd-Prozess verwendet wird
  • Gruppenbesitz ist irrelevant, es sei denn, es gibt bestimmte Gruppenanforderungen für die Überprüfung der Webserver-Prozessberechtigungen. Dies ist normalerweise nicht der Fall.
  • Alle Verzeichnisse sollten 755 oder 750 sein.
  • Alle Dateien sollten 644 oder 640 sein. Ausnahme: wp-config.php sollte 440 oder 400 sein, um zu verhindern, dass andere Benutzer auf dem Server sie lesen.
  • Es sollten niemals Verzeichnisse 777 angegeben werden, auch keine Verzeichnisse hochladen. Da der PHP-Prozess als Eigentümer der Dateien ausgeführt wird, erhält er die Berechtigungen des Eigentümers und kann sogar in ein 755-Verzeichnis schreiben.

4
Ich bin mir nicht sicher, warum Sie abgelehnt wurden: Es ist fast so, als ob die Leute die beste Antwort wollen, wie die Installation unsicher bleibt !
BCran

Link ist veraltet. Neu hier: wordpress.org/support/article/changing-file-permissions Und danke, dass Sie der einzige sind, der auf die tatsächlichen Dokumente verweist!
Jedermann

Wenn die wp-config.php 400 ist, wie soll der Apache sie beim Laden der Seite einschließen (also lesen)?
Martin Braun

14

Ich setze Berechtigungen auf:

    # Set all files and directories user and group to wp-user
    chown wp-user:wp-user -R *

    # Set uploads folder user and group to www-data
    chown www-data:www-data -R wp-content/uploads/

    # Set all directories permissions to 755
    find . -type d -exec chmod 755 {} \;

    # Set all files permissions to 644
    find . -type f -exec chmod 644 {} \;

In meinem Fall habe ich einen bestimmten Benutzer für WordPress erstellt, der sich vom Apache-Standardbenutzer unterscheidet und den Zugriff aus dem Web auf die Dateien dieses Benutzers verhindert.

Anschließend erhält der Apache-Benutzer die Berechtigung, den Upload-Ordner zu verwalten und schließlich ausreichend sichere Datei- und Ordnerberechtigungen festzulegen.

BEARBEITET

Wenn Sie W3C Total Cache verwenden, sollten Sie auch Folgendes ausführen:

rm -rf wp-content/cache/config
rm -rf wp-content/cache/object
rm -rf wp-content/cache/db
rm -rf wp-content/cache/minify
rm -rf wp-content/cache/page_enhanced

Dann wird es funktionieren!

BEARBEITET

Nach einer Weile der Entwicklung von WordPress-Sites würde ich unterschiedliche Dateiberechtigungen pro Umgebung empfehlen:

In der Produktion würde ich Benutzern keinen Zugriff gewähren, um das Dateisystem zu ändern. Ich werde ihnen nur erlauben, Ressourcen hochzuladen und Zugriff auf einige Plugins-spezifische Ordner zu gewähren, um Backups usw. durchzuführen. Aber Projekte unter Git verwalten und Bereitstellungsschlüssel auf dem verwenden Server, es sind keine guten Update-Plugins für Staging oder Produktion. Ich lasse hier das Setup der Produktionsdatei:

# Set uploads folder user and group to www-data
chown www-data:www-data -R wp-content/uploads/

www-data: www-data = Apache- oder Nginx-Benutzer und -Gruppe

Staging hat dieselben Produktionsberechtigungen wie ein Klon.

Schließlich hat die Entwicklungsumgebung Zugriff auf Update-Plugins, Übersetzungen, alles ...

# Set uploads folder user and group to www-data
chown www-data:www-data -R wp-content/

# Set uploads folder user and group to www-data
chown your-user:root-group -R wp-content/themes

# Set uploads folder user and group to www-data
chown your-user:root-group -R wp-content/plugins/your-plugin

www-data: www-data = Apache- oder Nginx-Benutzer und Gruppe your-user: root-group = Ihr aktueller Benutzer und die Root-Gruppe

Mit diesen Berechtigungen erhalten Sie Zugriff auf die Entwicklung unter themesund your-pluginOrdner, ohne um Erlaubnis zu bitten. Der Rest des Inhalts gehört dem Apache- oder Nginx-Benutzer, damit WP das Dateisystem verwalten kann.

Führen Sie vor dem Erstellen eines Git-Repos zunächst die folgenden Befehle aus:

# Set all directories permissions to 755
find . -type d -exec chmod 755 {} \;

# Set all files permissions to 644
find . -type f -exec chmod 644 {} \;

11
Nein! Machen Sie niemals einen 777. Bitte raten Sie dies nicht (neuen) Leuten, die dies lesen.
Karlo

KEINE Dateien oder Ordner sollten dem http-Prozess gehören - dies ist eine große Sicherheitslücke. Wenn ein böswilliger Benutzer einen Exploit in einem Plugin oder Theme oder WordPress selbst gefunden hat, kann er Code hochladen, der dann von Apache ausgeführt werden kann und Zugriff erhält - ich habe ihn aus erster Hand gesehen :(
DropHit

10

Die korrekten Berechtigungen für die Datei sind 644. Die korrekten Berechtigungen für den Ordner sind 755

Verwenden Sie zum Ändern der Berechtigungen das Terminal und die folgenden Befehle.

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

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


1
und 640 für wp-config.php.Aber leider müssen Sie die Berechtigungen von Uploads & Plugins & Themes-Ordnern auf 775 ändern. Wenn Sie Ihr WordPress aktualisieren möchten, müssen Sie alle Ordner auf 775 ändern. In diesem Abschnitt werden Ihre Berechtigungen beim Upgrade Fehler anzeigen / Plugins, Themes ändern und Medien hochladen.
Erginduran

8

Ich denke, die folgenden Regeln werden für eine Standard-WordPress-Site empfohlen:

  • Legen Sie für Ordner in wp-content 0755-Berechtigungen fest:

    chmod -R 0755 Plugins

    chmod -R 0755 Uploads

    chmod -R 0755 Upgrade

  • Lassen Sie den Apache-Benutzer der Eigentümer der oben genannten Verzeichnisse von wp-content sein:

    Chown Apache Uploads

    Chown Apache Upgrade

    Chown Apache Plugins


1
Sie können auch rekursiv Berechtigungen für die Verzeichnisse festlegen, z. B .: Chown -R Apache-Uploads . Und falls erforderlich, können Sie Apache auch den Gruppenbesitz geben: chgrp apache
uploads

8

Dies hängt tatsächlich von den Plugins ab, die Sie verwenden möchten, da einige Plugins das Stammdokument von WordPress ändern. Aber im Allgemeinen empfehle ich so etwas für das WordPress-Verzeichnis.

Dadurch wird das "root" (oder was auch immer der Benutzer, den Sie verwenden) als Benutzer in jeder einzelnen Datei / jedem einzelnen Ordner zugewiesen. R bedeutet rekursiv, sodass es nicht beim "html" -Ordner endet. Wenn Sie R nicht verwendet haben, gilt dies nur für das Verzeichnis "html".

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

Dadurch wird der Eigentümer / die Gruppe von "wp-content" auf "www-data" gesetzt, sodass der Webserver die Plugins über das Admin-Panel installieren kann.

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

Dadurch wird die Berechtigung jeder einzelnen Datei im Ordner "html" (einschließlich Dateien in Unterverzeichnissen) auf 644 festgelegt, sodass externe Personen keine Datei ausführen, keine Datei ändern können, keine Gruppe eine Datei ausführen kann, keine Datei ändern kann und nur Der Benutzer darf Dateien ändern / lesen, aber selbst der Benutzer kann keine Datei ausführen. Dies ist wichtig, da es jede Art von Ausführung im "HTML" -Ordner verhindert, auch da der Besitzer des HTML-Ordners und alle anderen Ordner außer dem Ordner "wp-content" "root" (oder Ihr Benutzer) sind, können die www-Daten ' t Ändern Sie keine Dateien außerhalb des Ordners wp-content. Selbst wenn auf dem Webserver eine Sicherheitsanfälligkeit vorliegt und jemand unbefugt auf die Site zugreift, kann er die Haupt-Site nur mit den Plugins löschen.

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

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

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

Wenn sich ein Plugin oder Update beschwert, dass es nicht aktualisiert werden kann, greifen Sie auf SSH zu und verwenden Sie diesen Befehl. Erteilen Sie "www-data" (Webserver) die temporäre Berechtigung zum Aktualisieren / Installieren über das Admin-Panel und kehren Sie dann zurück zurück zum "root" oder Ihrem Benutzer, sobald es abgeschlossen ist.

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

Und in Nginx (dasselbe Verfahren für den Apache), um den Ordner wp-admin vor unbefugtem Zugriff und Prüfen zu schützen. apache2-utils ist erforderlich, um das Kennwort zu verschlüsseln, auch wenn Sie nginx installiert haben. Lassen Sie c weg, wenn Sie weitere Benutzer zur gleichen Datei hinzufügen möchten.

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

Besuchen Sie jetzt diesen Ort

/etc/nginx/sites-available/

Verwenden Sie diese Codes, um den Ordner "wp-admin" mit einem Kennwort zu schützen. Jetzt werden Sie nach dem Kennwort / Benutzernamen gefragt, ob Sie versucht haben, auf den Ordner "wp-admin" zuzugreifen. Beachten Sie, dass Sie hier die Datei ".htpasswd" verwenden, 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;
}

Starten Sie nun den Nginx neu.

sudo /etc/init.d/nginx restart

Die Verwendung des Root-Benutzers wird nicht empfohlen. Es könnte gefährlicher sein. Machen Sie einfach einen neuen Benutzer und fügen Sie ihn der Sudo-Gruppe hinzu
Erginduran

Ich habe hier nicht empfohlen, die Wurzel zu verwenden. Ich habe die Wurzel als Beispiel verwendet. Sie können einen beliebigen Namen verwenden, anstatt den Stamm zu verwenden.
Don Dilanga

2

Befehle:

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

Wobei ftp-user der Benutzer ist, mit dem Sie die Dateien hochladen

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

1
sollte chown Benutzername: www-Daten sonst können Sie keine Dateien bearbeiten
malhal

Sie können $(whoami)anstelle von verwenden ftp-user. Standardmäßig ist Ihr aktueller Benutzer ( nicht root ) Ihr FTP-Benutzer, wenn Sie Ihren eigenen Server (lokal, vps usw.) verwenden
Juanjo Salvador

2

Verwenden Sie ein Sicherheits-Plugin wie das folgende, um sicherzustellen, dass Ihre Website sicher ist und Sie die richtigen Berechtigungen für Ihre Ordner verwenden:

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

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

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


2
chown -Rv www-data:www-data
chmod -Rv 0755 wp-includes
chmod -Rv 0755 wp-admin/js
chmod -Rv 0755 wp-content/themes
chmod -Rv 0755 wp-content/plugins
chmod -Rv 0755 wp-admin
chmod -Rv 0755 wp-content
chmod -v 0644 wp-config.php
chmod -v 0644 wp-admin/index.php
chmod -v 0644 .htaccess

1

Ich kann Ihnen nicht sagen, ob dies korrekt ist oder nicht, aber ich verwende ein Bitnami-Bild über Google Compute App Engine. Ich habe Probleme mit Plugins und Migration, und nachdem ich die Dinge durch chmod'ing-Berechtigungen weiter durcheinander gebracht habe, habe ich diese drei Zeilen gefunden, die alle meine Probleme gelöst haben. Ich bin mir nicht sicher, ob es der richtige Weg ist, habe aber für mich funktioniert.

sudo chown -R bitnami:daemon /opt/bitnami/apps/wordpress/htdocs/
sudo find /opt/bitnami/apps/wordpress/htdocs/ -type f -exec chmod 664 {} \;
sudo find /opt/bitnami/apps/wordpress/htdocs/ -type d -exec chmod 775 {} \;

1

Verwenden Sie für OS X diesen Befehl:

sudo chown -R www:www /www/folder_name

1

In der Datei wp_config definieren.

/var/www/html/Ihr-Projekt-Datei/wp-config.php

define( 'FS_METHOD', 'direct' );

chown - Ändert den Besitz von Dateien / Verzeichnissen. Dh. Der Eigentümer der Datei / des Verzeichnisses ändert sich in das angegebene, ändert jedoch nicht die Berechtigungen.

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

0

Basierend auf all dem Lesen und Qualen auf meinen eigenen Websites und nachdem ich gehackt wurde, habe ich die obige Liste erstellt, die Berechtigungen für ein Sicherheits-Plugin für Wordpress namens Wordfence enthält. (Nicht damit verbunden)

In unserem Beispiel lautet der Stamm des WordPress-Dokuments /var/www/html/example.com/public_html

Öffnen Sie die Berechtigungen, damit www-data wie folgt in das Dokumentstammverzeichnis schreiben kann:

cd /var/www/html/example.com
sudo chown -R www-data:www-data public_html/

Jetzt können Sie über das Dashboard auf Ihrer Website als Administrator Aktualisierungen durchführen.

Sichern Sie die Site nach Abschluss der Updates wie folgt:

sudo chown -R wp-user:wp-user public_html/

Der obige Befehl ändert die Berechtigungen für alles in der WordPress-Installation für den WordPress-FTP-Benutzer.

cd public_html/wp-content
sudo chown -R www-data:wp-user wflogs
sudo chown -R www-data:wp-user uploads

Der obige Befehl stellt sicher, dass das Sicherheits-Plugin Wordfence Zugriff auf seine Protokolle hat. Das Upload-Verzeichnis kann auch von www-data geschrieben werden.

cd plugins
sudo chown -R www-data:wp-user wordfence/

Der obige Befehl stellt außerdem sicher, dass das Sicherheits-Plugin für seine ordnungsgemäße Funktion Lese- und Schreibzugriff benötigt.

Verzeichnis- und Dateiberechtigungen

# Set all directories permissions to 755
find . -type d -exec chmod 755 {} \;

# Set all files permissions to 644
find . -type f -exec chmod 644 {} \;

Setzen Sie die Berechtigungen für wp-config.php auf 640, damit nur wp-user diese Datei lesen kann und sonst niemand. Berechtigungen von 440 haben bei mir mit dem oben genannten Dateibesitz nicht funktioniert.

sudo chmod 640 wp-config.php

Automatische Wordpress-Updates mit SSH funktionierten einwandfrei mit PHP5, brachen jedoch mit PHP7.0 aufgrund von Problemen mit php7.0-ssh2, das mit Ubuntu 16.04 gebündelt war, und ich konnte nicht finden, wie ich die richtige Version installieren und zum Laufen bringen konnte. Glücklicherweise ermöglicht ein sehr zuverlässiges Plugin namens ssh-sftp-updater-support (kostenlos) automatische Updates mit SFTP, ohne dass libssh2 erforderlich ist. Daher müssen die oben genannten Berechtigungen nur in seltenen Fällen nach Bedarf gelöst werden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.