2016-09-21 2 views
5

ich Wordpress mit CentOS 7 LAMP stack.I've auf meinem VPS renne this guide gefolgt Berechtigungen festlegen, dh ich habeWordpress-Dateiberechtigungen auf CentOS7 sudo erfordert

laufen

sudo chown apache:apache -R * um sicherzustellen, dass mein Wordpress-Verzeichnis ist im Besitz von apache:apache.

Ich habe auch Wordpress-Verzeichnis und Dateiberechtigungen mit diesen Befehlen eingestellt:

find . -type d -exec chmod 755 {} \;

find . -type f -exec chmod 644 {} \;

(ich musste das Präfix die oben genannten Befehle mit sudo)

Normalerweise schaffe ich der Server durch Einloggen über SSH mit myuser, wobei myuser zu der apache Gruppe und der 01 gehörtGruppe.

Ich habe 3 Probleme:

  1. Jeder Befehl Datei CRUD in dem Wordpress-Verzeichnis erfordert mich noch den Befehl mit sudo, Präfix oder sonst bekomme ich einen Berechtigungsfehler. Da myuser zu apache gehört und apache das Verzeichnis besitzt, bin ich verwirrt, warum ich die Befehle immer noch mit sudo voranstellen muss.
  2. Ähnlich wie Problem 1, jeder git Befehl wie eine git pull erfordert, dass ich den Befehl mit sudo voranstellen, sonst erhalte ich einen Erlaubnisfehler.
  3. Wenn ich versuche, Themendateien automatisch von meiner WordPress-Dashboard-Weboberfläche zu aktualisieren, erhalte ich Berechtigungsfehler. Interessanterweise kann ich Plugins über das WordPress-Dashboard installieren/aktualisieren, ohne dass es zu Zugriffsberechtigungen kommt.

Irgendwelche Ideen zu was ich vermisse?

+0

Ich denke, das sehr wenig mit Wordpress zu tun hat, sich selbst und ist so ein viel besserer Ort es zu fragen –

+0

@MarkKaplun nach [die Hilfedateien] (http://wordpress.stackexchange.com/help/on-topic), ** Server-Konfiguration für WordPress ** ist zum Thema. Ich nehme an, Sie könnten auch argumentieren, dass dies ein generisches Problem bei der Serverkonfiguration und -verwaltung ist, das nicht zum Thema gehört. – fortuneRice

+0

Ich hasse wirklich Leute, die vorgeben, dass sie Anwälte sind, die vor Gericht sind. Nicht jeder Ort der Welt ist eine Seite eines Fernsehdramas –

Antwort

6

Blick auf: What does mode_t 0644 mean?

644 means: 
* (owning) User: read & write 
* Group: read 
* Other: read 

CRUD ist ein Schreibbefehl, so dass Sie nicht zu tun erlaubt. Entweder wechseln Sie zu 664 oder verwenden Sie weiterhin sudo. Grundsätzlich wäre jeder Schreibvorgang im Dateisystem ohne sudo nicht erlaubt, da Ihr Benutzer nicht der Eigentümer ist (obwohl er in der Gruppe ist).

3

@fortuneRice, CentOS7 bietet standardmäßig selinux, was oft die Ursache vieler schwer verständlicher Dateiberechtigungsfehler ist.

Ich würde vorschlagen, die folgende:

  1. Datei/etc/sysconfig/selinux
  2. ändern SELINUX = permissive (oder was auch immer SELINUX derzeit in der Datei festgelegt wird) zu SELINUX = disabled
  3. Starten Sie Ihren Server (nicht nur den apache-Web-Server, sondern die gesamte Maschine)

Deaktivieren SELINUX vollständig keine gute Idee ist, therefo Wenn dieses Verfahren funktioniert, sollten Sie SELINUX erneut aktivieren und seine Konfiguration korrigieren.

konfigurieren SELINUX kann eine schwierige Aufgabe sein, so schlage ich vor, Sie auf Google lesen, wie das zu tun :)

1
chown -R -f user:apache /path of the directory 
+1

gehen sollte. Es ist bevorzugt, den Befehl zu erklären und wie es das Problem lösen wird. – Tushar

+0

sollten Sie Wordpress keine Erlaubnis erteilen. Einfach den WordPress-Ordner auf den Server legen und den Besitz an den Benutzer ändern (wie im Befehl geschrieben) –

+1

Ok, [Bearbeiten] Sie die Antwort und fügen Sie die Beschreibung in Antwort hinzu. Auf diese Weise können zukünftige Leser die Beschreibung in der Antwort selbst sehen. – Tushar