Ich habe derzeit ein Setup, auf dem Apache2 + FastCGI PHP + Suexec läuft.
Als Beispiel verwende ich es /mnt/data/www/vhosts/inflex.co.uk/htdocs
als DocRoot für einen meiner virtuellen Hosts.
Ich habe ein Skript /mnt/data/www/php5-cgi/inflex.co.uk/php5-cgi
, das Folgendes enthält:
#!/bin/sh
exec /usr/bin/php5-cgi
Das Konto, unter dem die Skripte ausgeführt werden sollen, ist duncan
. Diese Datei gehört Duncan und befindet sich auch in der Gruppe Duncan. Sie verfügt über -rwxr-x---
die entsprechenden Berechtigungen.
.../www/vhosts/inflex.co.uk
und ../inflex.co.uk/htdocs
ist Eigentum von Duncan und gehört zur Duncan-Gruppe.
Wenn ich allen Zugriffen für andere entziehe, z. B. chmod 750
, erhalte ich beim Versuch, auf die Website zuzugreifen, eine Fehlermeldung bezüglich der Berechtigungen. Wenn ich anderen Lese-/Schreibzugriffe erlaube, z. B. 755, funktioniert es.
Ich gehe davon aus, dass dies ein Problem beim www-data
Zugriff (des Apache2-Benutzers) auf das Verzeichnis ist, aber ich dachte, der Sinn von Suexec bestehe darin, dass dies alles unter einem separaten Benutzer ausgeführt wird, oder ist www-data
Lesen (vielleicht Schreiben?) des Ordners erforderlich und anschließend wird die PHP-PHP-Datei als dieser Benutzer ausgeführt?