Eine allgemeine Frage zu Linux-Dateiberechtigungen: Apache und WordPress

Lesezeit: 5 Minuten

Eine allgemeine Frage zu Linux Dateiberechtigungen Apache und WordPress
kowschenin

Ich bin vor ein paar Wochen von einem Shared Hosting zu einem VPS gewechselt und habe diese lästigen Berechtigungsprobleme mit WordPress. Sie wissen, dass Sie Plugins (und WordPress selbst) über das Admin-Panel herunterladen und aktualisieren können, aber seit ich umgezogen bin, werden meine FTP-Anmeldeinformationen abgefragt, was etwas langsam ist, wenn ich ~ 20 Plugins aktualisieren muss.

Ich denke, das sollte eine Art Rechteproblem sein. Ich habe nachgesehen, dass die Shared-Hosting-Wordpress-Dateien alle zum Benutzernamen und zur Gruppe kovshenin (kovshenin:kovshenin) gehören und die Dateien -rw-r–r– und die Verzeichnisse drwx-r-xr-x sind.

Auf meinem VPS läuft Apache unter apache:apache und meine Dateien sind kovshenin:kovshenin. Was soll ich tun, um sie sowohl für Kovshenin als auch für Apache lesbar und beschreibbar zu machen?

Außerdem habe ich die Berechtigungen für alle Dateien und Ordner meiner WordPress-Installation auf 0777 geändert, was mir erlaubte, Plugins ohne FTP zu installieren und zu löschen, aber als ich auf ein automatisches Upgrade auf WordPress 2.8.1 umstellte, wurde ich immer noch nach meinem FTP-Konto gefragt. Ist das ein wp-Problem oder habe ich etwas übersehen?

Danke.

Aktualisieren: Ich habe es geschafft zu rennen id und id www-data auf dem MediaTemple Shared Hosting. Der Benutzer kovshenin befindet sich in der Gruppe kovshenin und www-data befindet sich in der Gruppe www-data. Keine Gruppen mehr. Was ist der Trick?

Ein weiteres Update Okay, ich habe die hinzugefügt apache Benutzer zum kovshenin Gruppe, meine WordPress-Dateien sind kovshenin:kovshenin mit rw-rw-r-- Berechtigungen u drwxrwxr-x Berechtigungen für Verzeichnisse, aber irgendetwas stimmt immer noch nicht. Der Benutzer apache kann auf die Dateien und Ordner zugreifen, ich kann den Online-Designs- und Plugin-Editor im WordPress-Admin-Panel verwenden, ich kann Änderungen an der .htaccess-Datei in WordPress vornehmen, aber die Plugin-/Design-Installation fragt mich immer noch nach FTP-Anmeldeinformationen!

Irgendwelche Ideen? Danke.

  • Wollen Sie damit sagen, dass Apache, der unter apache:apache ausgeführt wird, mit www-data:www-data auf die WordPress-Dateien zugreifen kann? Wenn ja, finden Sie heraus, wie es damit umgeht, und konfigurieren Sie es. Machen Sie dasselbe mit kovshenin:kovshenin.

    – Troubadour

    11. Juli 2009 um 13:59 Uhr

  • Nein. www-data befindet sich auf dem Shared Hosting und Apache läuft unter www-data. Der Benutzer apace befindet sich auf meinem VPS und läuft unter dem Benutzer und der Gruppe apache:apache.

    – kowschenin

    11. Juli 2009 um 14:09 Uhr

Was soll ich tun, um sie sowohl für Kovshenin als auch für Apache lesbar und beschreibbar zu machen?

  • Erstellen Sie eine neue Gruppe, sagen Sie “wordpress”.
  • Fügen Sie der WordPress-Gruppe sowohl koveshenin- als auch www-data-Benutzer hinzu.
  • Ändern Sie den Gruppenbesitzer aller Dateien in WordPress (mithilfe von chgrp).
  • Stellen Sie sicher, dass alle Dateien für Gruppen beschreibbar sind.
  • Setzen Sie das Berechtigungsbit g+s (setgid) für alle Verzeichnisse von Interesse.
  • Stellen Sie sicher, dass die Standard-umask von kovshenin und Apache die Lese- und Schreibberechtigung für Gruppen enthält.

Der vorletzte Schritt ist der Trick. Dies bedeutet, dass immer dann, wenn kovshenin oder Apache eine Datei in diesen Verzeichnissen erstellt, der Gruppenbesitzer auf WordPress gesetzt wird (anstelle von kovshenin oder Apache).

  • Okay, das ist näher, vielen Dank, aber wie kommt es, dass die Benutzer www-data und kovshenin auf dem gemeinsam genutzten Hosting-Konto von Media Temple keine zusätzlichen Gruppen haben? Wie heißt dieser Trick? 😉

    – kowschenin

    11. Juli 2009 um 14:11 Uhr

  • Schwer zu sagen, aber das Shared-Hosting-Konto könnte mit phpsuexec eingerichtet werden.

    – Café

    11. Juli 2009 um 14:39 Uhr

  • Hallo Café, noch eine Frage. Ich habe den Gruppenbesitzer aller Dateien und Verzeichnisse im wp-Ordner in Apache geändert, der Besitzer ist immer noch kovshenin, also ist es kovshenin:apache und die Rechte sind 0775, also haben sowohl kovshenin als auch Apache Rechte zum Lesen, Schreiben und Ausführen von Dateien. Funktioniert gut. Ich habe den g + s-Teil gemacht, neue Dateien werden mit kovshenin:apache erstellt, alles in Ordnung, ABER, die Rechte für die neue Datei sind 755. Wie behebe ich das für 775? Versuchte Einstellungen g+ws.. Scheint nicht zu funktionieren. Irgendwelche Ideen? Nochmals vielen Dank.

    – kowschenin

    11. Juli 2009 um 17:44 Uhr

  • Oh, Entschuldigung, das muss die umask sein.. =)

    – kowschenin

    11. Juli 2009 um 17:48 Uhr

  • @ChristopherIckes: Das bedeutet, dass alles, was Sie zum Erstellen der Verzeichnisse verwenden, das Setgid-Bit nicht in die neuen Verzeichnisse kopiert (die Standard /bin/mkdir Dienstprogramm tut dies). Möglicherweise müssen Sie dies manuell tun chmod g+s die Verzeichnisse, nachdem sie erstellt wurden.

    – Café

    1. März 2013 um 2:53 Uhr


Sie können das Eigentum an www-Daten gem Hier.

Führen Sie den folgenden Befehl in Ihrem WordPress-Verzeichnis aus (sudo erforderlich):

sudo chown -Rf www-data *

Funktioniert für Apache.

  • Das funktioniert gut, aber dann kann ich diese Dateien nicht mit meinem normalen Benutzer bearbeiten, und das ist es, was mich ausflippt.. 🙁

    – kowschenin

    11. Juli 2009 um 13:24 Uhr

  • Sind sie nicht immer noch im Besitz von Kovshenin? Sie sollten sie immer noch bearbeiten können, wenn dies der Fall ist. Wenn nicht, können Sie versuchen, den Benutzer kovshenin zu einem Mitglied der Gruppe zu machen, der er gehört, und Ihre Gruppe mit newgrp ändern, bevor Sie sie bearbeiten.

    – Troubadour

    11. Juli 2009 um 13:39 Uhr

  • Sie gehören der Gruppe kovshenin, aber neue Dateien, die ich vom Benutzer kovshenin hochlade, werden zu kovshenin:kovshenin und ich müsste erneut chown. Ich richte das Hosting für ein paar meiner Kunden ein und möchte, dass ihre Dateien im Stil von kovshenin:kovshenin sind, nicht von Apache (oder www-data). Ich frage mich, wie MediaTemple das gemacht hat.

    – kowschenin

    11. Juli 2009 um 13:42 Uhr

  • Sie können Ihren regulären Benutzer zur www-data-Gruppe hinzufügen oder sudo am Anfang Ihres Befehls anhängen.

    – KahWee Teng

    11. Juli 2009 um 13:44 Uhr

  • Welcher Befehl? Bitte lesen Sie, was ich versuche, es ist nicht so einfach. Es gibt keine zusätzlichen Gruppen.

    – kowschenin

    11. Juli 2009 um 13:49 Uhr

Angenommen, Ihr WordPress-Installationsverzeichnis ist /var/www/html Um alle Dateien und Verzeichnisse massenhaft auf die richtige Berechtigung zu ändern, verwenden Sie:

sudo  find /var/www/html/ -type d -exec chmod 775 {} \;
sudo  find /var/www/html/ -type f -exec chmod 664 {} \;

Um die Eigentümergruppe von allem zu ändern, verwenden Sie:

sudo chgrp -R <desired_username>.<desired_groupname> /var/www/html

Ich hatte das gleiche Problem und habe es gelöst, indem ich PHP ‘safe_mode’ in Plesk deaktiviert habe, jetzt kann WP problemlos Ordner erstellen und Dateien verschieben.

Ich hoffe, das hilft Ihnen.

Eine allgemeine Frage zu Linux Dateiberechtigungen Apache und WordPress
Manje Brinkhuis

Derzeit hinzufügen define('FS_METHOD', 'direct'); zu wp-config.php könnte den Zweck erfüllen. Ich bin mir nicht sicher, ob das ’09 funktioniert hätte. Siehe hier für meinen ähnlichen Fall mit nginx. Ich fand, dass es ein wesentlicher Schritt war.

963980cookie-checkEine allgemeine Frage zu Linux-Dateiberechtigungen: Apache und WordPress

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy