howgo hat geschrieben:PS: Ist es richtig, das User mit CGI Berechtigung um einiges mehr unsinn machen können, als mit php - also Schadem am System anrichten. Wenn ja, kann man das irgendwie absichern ?
Ja und nein
PHP kann auch viel Schaden anrichten, wenn es alle Befehle nutzen darf, die es kann. Normalerweise gibt's da aber mit safe_mode und open_basedir schon sehr viele Möglichkeiten, das einzugrenzen.
Skripte, die über die CGI-Schnittstelle aufgerufen werden (das können alle möglichen Skripte sein, Perl, Python, C, Shell usw., haben natürlich die Berechtigungen auf dem System, die der aufrufende User hat.
Beim normalen Apache ohne suexec hat der aufrufende User www-data natürlich Leserechte auf alle Webverzeichnisse aller User, ggf. auch Schreibrechte. Mit suexec bekommen die VHosts nicht den Standarduser, sondern andere User, die die Skripte aufrufen. Somit lässt sich dadurch (und mit den richtig gesetzten Verzeichnisrechten) vieles einschränken.
Deshalb wird oft bei Mehrbenutzerservern der PHP-Interpreter nicht als Apachemodul (= Apacheuser, geht nicht anders außer mit suphp), sondern als externes Skript über die CGI-Schnittstelle aufgerufen, damit auch dort diese Userbeschränkungen gelten und nicht in Verzeichnissen andere geschnüffelt werden kann...
Grüßle
Olfi