Unnötiger Eintrag in confixx_vhosts

casper99

New Member
Hi,

ich habe mal ne Frage.
Confixx legt für jeden Kunden (Virtualhost)
einen Eintrag
Code:
php_admin_value open_basedir /srv/www/web1/:/srv/www/htdocs/phpMyAdmin/:/srv/www/htdocs/confixx/html/gesperrt/

an. (web1 wird natürlich ersetzt).
Das macht doch gar keinen Sinn, wenn der Webserver eh mit

Code:
SuexecUserGroup web1 ftponly

läuft. Oder sehe ich das falsch?
 
casper99 said:
Oder sehe ich das falsch?
Ja.
PHP läuft als Parser/Interpreter innerhalb des Apache als Modul mit den Rechten des www-Users (wie auch immer er bei Dir heißt).
CGI-Scripte werden hingegen ausgeführt (=executed) und brauchen i.d.R. dafür andere Rechte, die mit suexec festgelegt/beschränkt werden.

huschi.
 
Moment. Ich habe das so verstanden, daß suexec PHP als CGI aufruft, damit die Scripts mit dem User laufen, dem sie gehören und man nicht auf andere Verzeichnisse zugreifen kann. Laut phpinfo() ist PHP auch nicht als Modul installiert. suexec läuft dagegen als Modul.

Code:
<VirtualHost 12.34.567.89:80>
ServerName meine.domain.de
DocumentRoot /srv/www/web1/html/
SuexecUserGroup web1 ftponly
php_admin_value open_basedir /srv/www/web1/:/srv/www/htdocs/phpMyAdmin/:/srv/www/htdocs/confixx/html/gesperrt/
php_admin_value upload_tmp_dir /srv/www/web1/phptmp/
</VirtualHost>

Wirklich Denkfehler??


Davon abgesehen hat es doch keinen Sinn mit open_basedir, z.B. den Pfad zu phpmyadmin anzugeben. Wie soll denn dieser user darauf zugreifen? und wozu, da es ja ausserhalb von DocumentRoot liegt.

Ich bin verwirrt.
 
Da mein Beitrag gestern beim Umzug verschütt gegangen ist, hier nochmal:
casper99 said:
daß suexec PHP als CGI aufruft
So könnte man es konfigurieren (allerdings würde man suphp dafür nutzen).

Laut phpinfo() ist PHP auch nicht als Modul installiert.
Ach ja? Wo steht das? Was steht dort als Server-API?

suexec läuft dagegen als Modul.
Muß es auch. Es ist ein Teil der CGI-Schnittstelle.

php_admin_value upload_tmp_dir /srv/www/web1/phptmp/
Du lieferst selbst den Gegenbeweis:
Wenn mod_php4 nicht eingebunden wäre, würde diese Zeile einen Syntaxfehler auslösen.

Wirklich Denkfehler??
Ja.

den Pfad zu phpmyadmin anzugeben.
Doch.
Wie soll denn dieser user darauf zugreifen?
Per PHP-Script. Darum geht es doch schließlich.
und wozu, da es ja ausserhalb von DocumentRoot liegt.
Darum geht es hingegen nicht. Der DocRoot ist hier absolut egal. Z.B. kann man PHP-Scripten damit den Zugrif auf /usr/bin/ erlauben um evtl. Systemprogramme (u.a. ImageMagick) auszuführen.

huschi.
 
Hey, danke erstmal für Deine Mühe.

Server API = Apache 2.0 Handler

Loaded Modules --> nix von PHP
Code:
core prefork http_core mod_so mod_access mod_actions mod_alias mod_auth mod_auth_dbm mod_autoindex mod_cgi mod_dir mod_env mod_expires mod_include mod_log_config mod_mime mod_negotiation mod_setenvif mod_ssl mod_suexec mod_userdir sapi_apache2 mod_rewrite mod_proxy proxy_http

Also laufen auch die PHP Scripts unter dem "www" user wie der Apache?
Und suexec läuft als Modul, und dieses ruft php auf, nur dass es vorher die user-ids etc. prüft???


Die phpmyadmin Geschichte:
Ich meinte, daß ich keine Domains nach ausserhalb von DocRoot zeigen lassen kann. Und wie soll ich dann auf die Phpmyadmin scripts zugreifen.
Höchstens per include() aber ob das funzt.
 
casper99 said:
Server API = Apache 2.0 Handler
Aha, PHP als Apache-Modul.

Loaded Modules --> nix von PHP
Das ist Dein Problem.

Also laufen auch die PHP Scripts unter dem "www" user wie der Apache?
Ja.
Und suexec läuft als Modul, und dieses ruft php auf
Ja, Nein.

Ich meinte, daß ich keine Domains nach ausserhalb von DocRoot zeigen lassen kann.
Das stimmt auch.

Und wie soll ich dann auf die Phpmyadmin scripts zugreifen.
Per Konfiguration. Z.B. per Alias.

Höchstens per include() aber ob das funzt.
Na also, Du hast ja doch Fantasie; und ja, es würde funzen.

huschi.
 
Back
Top