php von anderem Benutzer auswühren lassen

  • Hallo zusammen!


    Lange habe ich es geschafft um Plesk herum zu kommen, da es meiner Meinung nach zu viel einschränkt. Bei einem aktuellen Projekt muss ich mich nun doch etwas mehr damit beschäftigen:

    Auf dem Server läuft Plesk Onyx 17.5.3 in der Web Admin Edition und darauf eine Wordpress-Installation unter PHP-FPM und Apache. Das große Problem: Wordpress lässt sich nicht aktualisieren, da die Dateien etc. dem User x gehören, jedoch PHP vom user www-data ausgeführt wird, was natürlich dazu führt, dass www-data nicht in die Verzeichnisse und Dateien schreiben kann.

    Bei meinen Servern ist es so, dass die PHP Interpreter von den Users ausgeführt werden, den auch die Dateien gehören und wäre davon ausgegangen, dass dies auch hier bei PHP-FPM auch der Fall ist.


    Hat einer von euch vielleicht eine Ahnung, wie ich dies in Plesk einstellen kann, dass die PHP-Interpreter von einem anderen Nutzer ausgeführt werden? Im Internet oder im Panel selber habe ich nichts dazu gefunden, bin mir aber sicher, dass dies vorhanden sein muss.


    Schonmal vielen Dank für eure Hilfe!

  • Hay,


    hört sich für mich erst einmal ungewöhnlich an, kenne es auch nicht anders. Notfalls mal mit den Einstellungen für open_basedir in den php-Einstellungen spielen, spätestens damit kann man das regeln - sich aber auch Sicherheitsprobleme einfangen...


    PHP.NET: open_basedir


    CU, Peter

  • Also bei mir sieht das z.B. so aus:

    Code
    1. -rw-r--r-- 1 domainuser psacln 364 Dez 19 2015 wp-blog-header.php
    2. -rw-r--r-- 1 domainuser psacln 1,5K Mai 23 2016 wp-comments-post.php
    3. -rw-rw-r-- 1 domainuser psacln 3,1K Mai 8 2017 wp-config.php

    und aus ps aux | grep fpm kommt, wenn grade ein Request bearbeitet wird sowas raus:

    Code
    1. domainuser 5155 1.8 0.4 407360 26584 ? S 23:15 0:00 php-fpm: pool domain.xxx.de

    Zumindest standardmäßig werden die also unter dem domainuser ausgeführt...


    Das config-file für den FPM-Pool/Prozess findest du unter /opt/plesk/php/7.1/etc/php-fpm.d/domain.xxx.de.conf. Diese Datein werden allerdings automatisch von Plesk generiert (und mWn auch in gewissen Abständen neu generiert); direkte Änderungen sind also nicht permanent. Steht oben auch dick drüber. Auf jeden Fall steht dort recht weit oben (das solltest du überprüfen, wenn möglich):

    Code
    1. [domain.xxx.de]
    2. ; Don't override following options, they are relied upon by Plesk internally
    3. prefix = /var/www/vhosts/system/$pool
    4. user = domainuser
    5. group = psacln

    Alternativ könnte man wohl www-data in die Gruppe psacln aufnehmen (kommt halt etwas sehr dreckig daher).


    Viele Grüße aus Hamburg

  • Vielen Dank für euren Input! Das Interpreterproblem konnte schonmal gelöst werden: Der Wert des Zeitintervalls zum Neustart des Apache war so hoch gestellt, dass ich dies nicht mehr in meinem Leben erleben würde. Gefixt und siehe da, ich sehe den richtigen Pool.


    Trotzdem kommt noch immer das Problem, dass WordPress nach FTP-Daten zum aktualisieren fragt und nicht einfach macht. Also habe ich mit direkt mal die Rechte angeguckt. Der user stimmt für die Dateien, nur die Gruppe war auf psaadm gesetzt und nicht auf psacln.Nach der Änderung war die Seite komplett nicht erreichbar, im Error-log stand:

    Code
    1. [core:crit] (13)Permission denied: AH00529: /var/www/vhosts/.../.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/var/www/vhosts/.../' is executable

    Also die Gruppe zurück geändert und es lief wieder. Das verhalten klingt merkwürdig, habe aber schon eine Theorie dazu, die ich noch überprüfen muss.