Jump to content
Froxlor Forum
  • 0

Fehlende Schreibrechte für customer_ftp bei Apache2.4 und PHP-FPM


Balumir

Question

Moin,

Ich habe ein Froxlor 0.9.38.7 auf Debian Jessie mit Apache 2.4 und PHP-FPM installiert. Der Froxlor VHost läuft als User froxlorlocal:froxlorlocal und der Webserver mit www-data:www-data. Beim Anlegen der DocumentRoots werden scheinbar seit einiger Zeit nur noch Rechte für User und Gruppe gesetzt. Beim Editorieren oder neu Anlegen von FTP-Benutzer durch den Customer bekomme ich jetzt eine weiße Seite und im Log bekomme ich:

stderr: PHP message: PHP Fatal error:  Uncaught UnexpectedValueException: RecursiveDirectoryIterator::__construct(/srv/customers/webs/fae/): failed to open dir: Permission denied in /var/www/html/froxlor/lib/functions/filedir/function.findDirs.php:67

Ich habe in den Einstellungen nichts gesehen, dass ich hierzu noch extra Settings machen muss.

Kann mir jemand sagen, wie ich entweder dem Froxlor den Versuch abgewöhne, auf die VHost DocumentRoots zugreifen zu wollen, oder wie ich das zum laufen bekomme?

 

viele Grüße

 

Frank

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

Der Webserver-User genau wie der Froxlor-User (falls froxlor auch via FPM eingebunden ist) sind eigentlich Gruppenmitglieder der Kunden und können daher zugreifen. Prüfe bitte deine libnss-mysql configs, prüfe ob bei "id www-data" oder auch "id froxlorlocal" als Gruppen-Zugehörigkeit die Kunden auftauchen; im Zweifel nscd und apache mal neustarten oder sogar (debian speziell) -> 

 

Link to comment
Share on other sites

1 hour ago, d00p said:

Der Webserver-User genau wie der Froxlor-User (falls froxlor auch via FPM eingebunden ist) sind eigentlich Gruppenmitglieder der Kunden und können daher zugreifen. Prüfe bitte deine libnss-mysql configs, prüfe ob bei "id www-data" oder auch "id froxlorlocal" als Gruppen-Zugehörigkeit die Kunden auftauchen; im Zweifel nscd und apache mal neustarten oder sogar (debian speziell) ->

Den www-data User hat er in die Gruppe mit aufgenommen.  Aber beim froxlorlocal ist das nicht erfolgt:

# id -a www-data
uid=33(www-data) gid=33(www-data) groups=33(www-data),9999(froxlorlocal),10000(fae)

# id -a froxlorlocal
uid=9999(froxlorlocal) gid=9999(froxlorlocal) groups=9999(froxlorlocal),33(www-data)

Das Ganze ist aber auch imho unabhängig von der libnss-mysql.cfg, weil die Infos schon nicht in der DB stehen:

select * from ftp_groups;
+----+-----------+-------+--------------+------------+
| id | groupname | gid   | members      | customerid |
+----+-----------+-------+--------------+------------+
|  1 | fae       | 10000 | fae,www-data |          1 |
+----+-----------+-------+--------------+------------+

...die Debian-Spezialität hab ich noch separat am Wickel. Bei mir funktioniert die Rückgabe des memsbygid nicht, weil die libnss-mysql-bg das scheinbar nicht als CSV sondern als mehrere Rows erwartet und daher abschmiert. Ich hab im github schon die Ansätze des libnss-extrausers gesehen. Das steht bei mir als nächstes auf der Testliste...

Link to comment
Share on other sites

Ich habe folgende Einstellungen gemacht:

Enable PHP-FPM for the Froxlor vHost = ja

Local user to use for PHP-FPM (Froxlor vHost) = froxlorlocal

Local group to use for PHP-FPM (Froxlor vHost) = froxlorlocal

Der ganze Bereich "Enable FCGID for the Froxlor vHost" ist dementsprechend deaktiviert.

 

Aber ich hab sicherheitshalber jetzt nochmal einen weiteren Customer angelegt. Den ersten Customer habe ich wohl angelegt, als die Installation noch nicht auf php-fpm umgestellt war. Beim Speichern eines existierenden Customers fasst er die members scheinbar nicht mehr an. Beim Neuanlegen habe ich jetzt auch froxlorlocal in den members und ich kann FTP-User anlegen, ohne das es die PHP-Exception gibt.

Muss ich mir gleich mal ins Kochbuch schreiben. Testkunden erst anlegen, wenn alle anderen Konfigurationen fertig sind.

 

Danke für die Tips.

Link to comment
Share on other sites

Versuch mal bitte den "Database Integrity Check" (Datenbankprüfung) der sollte das beheben (Punkt: Webserver-Benutzer in Kunden-Gruppen (für FCGID/php-fpm) und froxlor-Benutzer in Kunden-Gruppen (für FCGID/php-fpm))

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...