Hallo Michelle,
Also ich habe 4 VirtualServer (4300/168/14/38 VHosts) und jeder VHost
ist ein localer $USER. Nun kann ich aber als "michelle" in alle VHost
Verzeichnisse, sprich die ~/public_html schreiben. Ich habe noch nie
probleme mit permissionen gehabt.
Allerdings mu�t Du bei den VHosts statt "Options SymlinksIfOwnerMatch"
gegen "Options FollowSymLinks" austauschen.
Meine drei kleinen Webserver sind jetzt fast vollst�ndig auf PHP
basierend und ich habe keine Probleme mit der Ausf�hung von CGI's
und so.
ah, moment -- benutzt Du php als Apache-Modul oder im CGI-Modus?
SuExec funktioniert meines Wissens nur mit CGI-Aufrufen, w�hrend
bei mod_php die PHP-Skripten mit der uid/gid des Webservers
ausgef�hrt werden. Letzteres m�chte ich nicht, weswegen ich PHP als
CGI ausf�hren lasse, auch wenn es auf dem Server mehr "Geld" kostet.
SuExec l�sst es theoretisch an zwei Stellen knallen.
Wenn das Verzeichnis Gruppen- oder Weltschreibbar ist,
/*
* Error out if cwd is writable by others.
*/
if ((dir_info.st_mode & S_IWOTH) || (dir_info.st_mode & S_IWGRP)) {
log_err("error: directory is writable by others: (%s)\n", cwd);
exit(116);
}
Wenn die dem Skript zugeordnete uid und gid nicht mit der uid und gid
�bereinstimmt, die Apache f�r die Ausf�hrung des Skripts verwenden
soll.
/*
* Error out if the target name/group is different from
* the name/group of the cwd or the program.
*/
if ((uid != dir_info.st_uid) ||
(gid != dir_info.st_gid) ||
(uid != prg_info.st_uid) ||
(gid != prg_info.st_gid)) {
log_err("error: target uid/gid (%ld/%ld) mismatch "
"with directory (%ld/%ld) or program (%ld/%ld)\n",
uid, gid,
dir_info.st_uid, dir_info.st_gid,
prg_info.st_uid, prg_info.st_gid);
exit(120);
}
Das w�ren die Stellen, um die ich mich dabei k�mmern muss. Das Patchen
stellt an sich kein Problem dar, aber es w�re nat�rlich bequemer, das
Debian Paket unver�ndert verwenden zu k�nnen.
Mfg
R.D.Oberm�ller