it-swarm.com.de

Sicher, Berechtigungen auf 757 vorübergehend festzulegen, um über wp-cli zu aktualisieren?

LEMP-Stack auf digitalocean VPS.

Ich war nicht in der Lage, "wp core update" zum Laufen zu bringen, es sei denn, public (oder "Other") hat die Ausführungsberechtigung, d. H. 757 oder 777.

Andernfalls wird jedes Mal "Fehler: Verzeichnis konnte nicht erstellt werden" ausgegeben.

Ich habe überprüft, ob der Benutzer, dem die WordPress-Installation gehört, derselbe Benutzer ist, der "wp core update" ausführt.

Bisher habe ich versucht, Berechtigungen auf 775 festzulegen, www-data: www-data, die wp-cli-Datei zu verschieben.

Ich habe mehrere Websites, die auf diesem Droplet/Server ausgeführt werden, und bei jeder ist das gleiche Problem aufgetreten.

Angenommen, ich setze einen Cronjob, um Berechtigungen auf 757 zu setzen, zu aktualisieren und wieder auf 755 zu setzen. Verzeichnisse 644 Dateien 660 wp-config.php

Ist das relativ sicher? Würde ich die Standorte meiner Kunden dadurch erheblich gefährden?

2
Josh Burson

Ich denke, das Einstellen eines Cron-Jobs zum automatischen Ein- und Ausschalten von Berechtigungen könnte ein extremer Workround sein :-) Ich denke, es lohnt sich wahrscheinlich, die Zeit dafür zu verwenden, Arbeitsberechtigungen auf Ihrem Server einzurichten, anstatt einen Cron-Job, der einführen könnte andere Probleme.

Dies war eine gute Ressource für mich - https://codex.wordpress.org/Hardening_WordPress .

Dies war auch eine großartige Ressource für mich - https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-lemp-on-ubuntu-16-04

Dies sind die Schritte, die ich ausgeführt habe, um automatische/wp-cli-Updates von WordPress und Plugins auf einem Ubuntu-Droplet mit NGINX als Webserver zu ermöglichen.

  1. Legen Sie die empfohlenen Datei- und Ordnerberechtigungen fest:

    750 for Directories
    640 for Files
    except for wp-config.php, this should be 440.
    

    So führen Sie dies für Verzeichnisse aus:

    find /srv/www/your-site/ -type d -exec chmod 750 {} \;
    

    und Dateien:

    find /srv/www/your-site/ -type f -exec chmod 640 {} \;
    

    und wp-config.php:

    Sudo chmod 440 your-site/wp-config.php
    
  2. Setzen Sie den Eigentümer und die Gruppe auf web: www-data wobei web ein Nicht-Root-Benutzer mit Sudo-Benutzerberechtigungen ist.

    Sudo chown -R web:www-data /srv/www/your-site
    

    Dieser Befehl gibt Ihnen weitere Informationen darüber, unter welchem ​​Benutzer/welcher Gruppe NGINX ausgeführt wird:

    ps -eo pid,comm,euser,supgrp | grep nginx
    

    https://superuser.com/questions/398833/how-to-determine-the-user-and-group-of-a-deamon-in-ubuntu

    Bei der Gruppe handelt es sich in meinem Fall um www-Daten.

  3. Setzen Sie das setgid-Bit so, dass alle neuen Dateien die Gruppe des übergeordneten Verzeichnisses erben.

    Sudo find /srv/www/your-site -type d -exec chmod g+s {} \;
    
  4. Erteilen Sie der Gruppe Schreibzugriff auf das Verzeichnis wp-content.

     Sudo chmod g+w /srv/www/your-site/wp-content
    
  5. Erteilen Sie der Gruppe Schreibzugriff auf die Plugins, Themes und Upload-Verzeichnisse.

    Sudo chmod -R g+w /srv/www/your-site/wp-content/themes
    Sudo chmod -R g+w /srv/www/your-site/wp-content/plugins
    Sudo chmod -R g+w /srv/www/your-site/wp-content/uploads
    
  6. Stellen Sie sicher, dass Sie den Befehl core update als Eigentümer in Schritt 2 ausführen, falls erforderlich, und wechseln Sie zuerst zu diesem Benutzer.

    su web
    wp core update
    
1
junkrig