Hallo Frank !
Hi,
ich haette auch mal gerne ein apache-Problem.
Der apache2 laeuft als unprivilegierter Nutzer www-data, wie
sich das gehoert. Dummerweise fuehrt er PHP auch immer im
Kontext dieses einen Nutzers aus. Daher sind die Dateien der
Nutzer fuer alle lesbar (+r). Dies fuehrt zu der unangenehmen
Eigenart, dass theoretisch jeder Nutzer mit einem PHP-script
die PHP-scripts aller anderen Nutzer und damit auch darin
enthaltene SQL-Passwoerter usw. auslesen kann, wenn er erstmal
weiss, wo sie im Dateisystem.
Es ist bei einigen Hostern so, das PHP als Modul unter wwwrun läuft. PHP kennt aber open_basedir, mit welchem sich das Auslesen von Dateien im Dateisystem außerhalb des eigenen Verzeichnisses vermeiden lässt. das wird dann meist per php_admin_value im entsprechenden virtualhost-Abschnitt der httpd.conf gesetzt.
Shell-Zugriff hat man nicht, somit ist das relativ sicher (sofern da nicht noch andere Sprachen (Perl, Python) angeboten werden, mit denen sich das umgehen lässt).
Es gibt auch Hoster, die mysql_default_user / mysql_default_password auf diese Weise setzen, so dass man im PHP Script kein mySQL-Passwort hinterlegen muss.
Ich kenne perchild, aber was darueber auf der apache-homepage
steht, ermutigt mich nicht gerade zum Einsatz. suexec ist
taugt nur fuer CGIs. Wie loest das denn ein PHP-Anbieter?
Naja, es gibt etliche Anbieter, die PHP als CGI laufen lassen, darunter auch bekannte große Anbieter (1&1 hat das z.B. mal so gemacht, ob das da immernoch so ist, weiss ich nicht). Dort wird dann suexec eingesetzt.
Die koennen doch nicht fuer jeden PHP-Nutzer einen eigenen
apache oder vserver laufen lassen (zzgl. IP#).
Nein, das sicher nicht.
Alexander