Andreas Korthaus: SAVE MODE OFF? Was meint ihr?

Beitrag lesen

Hallo!

Das dachte ich zunächst auch, aber selbst wenn ich mit CHMOD() die Rechte "0777" auf das Verzeichnis schreibe, funktioniert das nicht.

Also chmod 0777 ist eher selten der richtige Weg, damit wird die Datei, das Verzeichnis für _jeden_ User im System lesbar/veränderbar/löschbar. Wenn Dein Provider so "nett" ist Safe-Mode für einzelne User auszuschalten, können diejenigen also mit den 0777er Dateien/verzeichnissen machen was sie wollen. Wenn der Server zudem noch mit mod_php läuft (das schließe ich jetzt einfach mal aus der Tatsache dass "wwwrun" Verzeichnisse anlegt), funktioniert das sogar mit 0600 bei Dateien und 0700 bei Verzeichnissen (die "wwwrun" gehören). In jedem Fall wird man alles (z.B. auch DB-Zugangsdaten) lesen können. mod_php ist für Shared-Hosting "Provider" eh keine gute Idee, und dann noch safe_mode auszuschalte macht solche Manipulationen auch noch kinderleicht.

Warning: mkdir(): SAFE MODE Restriction in effect. The script whose uid/gid is 692/102 is not allowed to access /srv/www/htdocs/html/page/imgs/gal_1 owned by uid/gid 30/8 in /srv/www/htdocs/html/page/admin/new_gal.php on line 478

Das Verzeichnis "gal_1", welches ebenfalls über mkdir() erstellt wurden ist, hat eben einen anderen Benutzer (nämlich den des Apache - wwwrun), als mein Script "new_gal.php"...

Du könntest das Verzeichnis "gal_1" so erstellen wie Du das Script erstellt/übertragen hast, vermutlich per FTP. Evtl. kannst Du auch per FTP einfach den Besitzer und die Gruppe des Verzeichnisses ändern.

Zum Thema Safe-Mode: http://de3.php.net/features.safe-mode

Safe-Mode bietet vor allem Dir einen gewissen - wenn auch keinen richtigen - Schutz vor anderen Anwendern auf demselben Server. Wenn jetzt der Safe-Mode noch für verschiedene Kunden ausgeschaltet wird, wird er damit ad absurdum geführt. Es ist zwar schön für den einzelnen wenn er nicht mehr den Beschränkungen des Safe-Modes unterliegt, dann kann er in die Verzeichnisse schreiben... aber nicht nur in die, sondern im Fall von mod_php ohne perchild- oder metux-MPM (die beide nur für Apache2 existieren und beide noch nicht als besonders stabil gelten) auch in die aller anderen Kunden. Und es muss nichtmal einer der anderen Kunden auf dem Server böse absichten haben, es reicht wenn er nur ein einziges unsicher programmiertes PHP-Script verwendet (z.B. alte phpbb Version, postnuke...), um fremden  Angreifern Tor und Tür zu öffnen.

Grüße
Andreas

--
SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/