Chris©: safe_mode = Off ?? Wie macht ihr es?

Beitrag lesen

Hallo,

Bekanntester Fall ist das Anlegen einer Datei in einem Verzeichnis, dass duech FTP angelegt wurde. Das Script wurde ebenfalls durch FTP hochgeladen. Das Anlegen einesr Datei klappt noch, da hier nur die Rechte aus dem Verzeichnis gelten (Skript und Verzeichnis habe denselben Owner) aber das Ändern oder Löschen der Datei klappt dann nicht mehr, weil hier plötzlich der Owner der Datei (zB. WWWRUN) nicht mehr übereinstimmt mit dem des Scriptes oder des übergeordneten Verzeichnisses.
Also wenn man mit PHP eine Datei anlegt, dann hat dieses afaik den Owner wie der User der PHP ausführt.
Dementsprechend kann der PHP Script diese selbst angelegte Datei beliebig verändern.

Nein, leider nicht, wenn der Safe-Mode eingeschaltet ist.
In obigem Fall sollte der Owner des Scriptes und der Owner des Verzeichnisses (1), in dem die Datei angelegt werden sollte, der FTP-User sein.

Dann kann man nun ein Unter-Verzeichnis (2) anlegen. das bekommt dann den Owner des Webservers (Modulvariante). In diesem Unterverzeichnis (2) kann man mWn jetzt sogar noch eine Datei anlegen, da hierzu nur Veränderungen am Verzeichnis (2) notwendig sind. Dieses gehört zwar sem Owner des Webservers, steht aber in einem Verzeichnis (1), dass dem FTP-User == Script-Owner gehört. Damit ist die Regel für den Safe-Mode erfüllt. Es müssen die Owner (des Scriptes) und (des Files oder seines übergeordneten Verzeichnisses) übereinstimmen.

Die Datei kann nun aber nicht mehr manipuliert werden, da sie weder selber dem Owner des Scriptes gehört, noch ihr Verzeichnis (2) dem Owner des Scriptes gehört.

CMS-Systeme werden daher meistens durch ein Upload-Modul installiert. Das stellt sicher, dass alle Scripte und von diesem Modul angelegten Verzeichnisse dem Webserver-User gehören. Damit darf er auch damit arbeiten.

LG
Chris©