Hi Tom!
Wenn PHP als Modul läuft (ohne suphp/suexec), dann gibt es nur einen einzigen User für alle vom Webserver versorgten Domains und virtHosts, nämlich den Webserver.
Ja. Leider ist die von mir beschriebene Variante bei einigen Providern der einzige Weg - mit allen damit verbundenen Sicherheitsrisiken. Dazu kommen dann immer wieder Tipps wie "chmod 777", die sicherheitstechnisch denselben Effekt haben, im Prinzip ist das sogar noch ungünstiger da auch manipulierbar über andere Accounts als den Webserver.
Dafür gibt es dann ja schließlich einerseits open_basedir und andereseits die Einschränkung, dass die Scripte nur auf Verzeichnisse desselben Owners zugreifen dürfen. Wenn man allerdings Dateien und Verzeichnisse mittels PHP erzeugen lässt, klappt diese "Sichheitsfunktion" nicht mehr, da diese dann ja dem Webserver gehören. Auf den Safe_Mode kann man meiner Meinung nach verzichten, wenn man die Liste der verbotenen Funktionen nutzt und open_basedir vernünftig wählt und session.save_path und upload_tmp_dir ebenfalls für jeden User getrennt einstellt.
Naja, wie gesagt ist sowohl open_basedir als auch safe_mode "Flickerei", beide können das Problem nicht richtig lösen. Wirklich "dicht" wird es erst mit suphp/suexec oder vergleichbarem (metux/perchild). Zum Thema Funktionen zu verbieten, wußtest Du dass man curl oder oracle nicht verwenden darf weil beide lokale Dateien lesen können und somit open_basedir umgehen? Weißt Du was Du vielleicht noch vergessen haben könntest? Was ist wenn jemand eine solche Funktion unbedingt braucht? Daher würde ich in solchen Szenarien _grundsätzlich_ von mod_php abraten, solange metux oder perchild MPM noch nicht stabil sind.
Grüße
Andreas
SELFHTML Linkverzeichnis: http://aktuell.de.selfhtml.org/links/