phpbar.de logo

Mailinglisten-Archive

[php] chmod

[php] chmod

php_(at)_phpcenter.de php_(at)_phpcenter.de
Mon, 10 Sep 2001 08:38:01 +0200


> >>   Warning: chmod failed: Operation not permitted in
> >>   /htdocs/test.php on line 5

Hi,

das was das Problem ist ganz einfach:

Wenn Du per FTP oder Shell-Zugang als Benutzer XYZ eine Datei erstellst, und
auf die Datei ein chmod 777 machst, dann hat zwar wegen der letzten 7
_jeder_ Benutzer des Systems Lese-/Schreib-/Ausführungsberechtigung - aber
eben durch das chmod 777 bekommt _nicht_ jeder das Recht, die Rechte der
Datei mittels chmod zu ändern.

Also folgendes Szenario:

1. Du erstellst eine Datei -> Du bist Benutzer XYZ -> also ist der Owner der
Datei XYZ
2. chmod 777 -> Jeder darf (fast ;) ) alles
3. PHP kommt daher (rennt entweder als Apache-User oder als nobody)
4. PHP will einen chmod machen -> geht nicht weil nicht der Owner

Des Problems Lösung:

Der User unter dem Apache rennt(und dem zu folge auch PHP) muss der Besitzer
der Datei sein (also  dann via: chown xxxx.xxxx (benutzer.gruppe,
wahrscheinlich nobody.nogroup oder wwwrun.keine_ahnung *g* -> müsste im
phpinfo(); stehen).

Hinweis:
Mit der Apache 2.0 Serie wird das Problem später gelöst - denn mit dem
Apache 2 wird es ein suexec geben, dass es ermöglicht PHP unter einem
anderen Benutzer auszuführen ;).


Greetings


Tobias (back from Holidays ;)) )



php::bar PHP Wiki   -   Listenarchive