Hi Tom,
dann wird es kompliziert.
Nicht unbedingt - ich würde dazu raten, auf den SafeMode zu verzichten, zumal die Pläne für PHP6 vorsehen, den SafeMode _komplett_ zu entfernen.
Folgende Kombinationen sind möglich:
- Apache mit mod_suphp und mod_suexec, PHP als Modulversion wird über suPHP als der
User ausgeführt und CGI Programme über suExec - Apache mit mod_suexec, PHP als CGI-Version läuft mit einem kleinen Starter-Shell-Script
über suExec, CGI Programme ebenso
Ich setze letzere Methode ein (ein Modul weniger zum warten) und kann nur positives davon berrichten.
Strategie 1:
- open_basedir
Das zu setzen kann eigentlich nie schaden.
- eigenes Upload-Verzeichnis
- eigenes Session-Verzeichnis
Brauchst du bei suExec/suPHP nicht mehr, wenn du Umask so gesetzt hast, dass die Welt nicht lesen darf, dann gehören die Dateien nämlich dein einzelnen Usern und deren Gruppen und sind somit für andere nicht mehr lesbar.
- Safe-Mode (User) anschalten
- safe_mode_exec_dir ist gesetze aber leer
Pfui, macht meiner Meinung nach nur Probleme, mit dem SafeMode habe ich nur negative Erfahrungen gemacht.
Wenn man Systemprogamme zulässt, muss auf jeden Fall geklärt sein, woher diese ihre Daten beziehen dürfen.
Durch suExec/suPHP wird das über die normale Rechtevergabe eines Linuxsystems geklärt - wenn dann User whoami
keinen Zugriff auf XY hat, hat er eben keinen Zugriff.
MfG, Dennis.