Tom: CHMOD bei PHP Fileupload

Beitrag lesen

Hello,

man nimmt eigentlich immer 777

"man" nimmt ganz gewiss nicht "immer" die Berechtigung 777.

Es muss lediglich der User des Webservers eine Berechtigung für die Nutzung des tmp-Verzeichnisses haben (rwx rwx rwt)

Man beachte das "t" als letztes in der Rechteeinstellung. das bedeutet, dass es sich um ein Temporärverzeichnis handelt.

Die temporären Files gehören dann ohnehin dem Webserver. Nur der darf sie anfassen, weil nur sein Script ein Handle darauf erhält.

Auf das Zielverzeichnis muss der Webserver im Prinzip nur

(--- -wx ---) haben, damit er dort Dateien ablegen darf. Er muss dazu nur Mitglied der Gruppe sein, die für dieses Verzeichnis eingetragen ist.

Wenn er die Files auch wieder löschen können soll, dann muss man dem Verzeichnis

(--- rwx ---) geben.

Das File selber gehört ihm automatisch. Man sollte durch umask() dafür sorgen, dass

(rw- rw- ---) als Filerechte entstehen  $oldmask = umask(117) und nach

dem copy() oder move_uploaded_file() sollte man versuchen, die Gruppe des Files auf eine solche zu wechseln, in der der Webserver-Betreuer sich befindet. Anderenfalls kommt der Betreuer (Du) nicht über FTP oder ssh an die uoloaded Files heran. Den Owner kann man nicht wechseln, das darf nur root.

Damit das Klappt, muss aber der Webserver auch Mitglied der Gruppe sein, in der Du auch bist. Sonst gibt es 'was auf die Finger.

Wenn "man" diese Einstellungen beachtet und der Provider die User vernünftig eingerichtet hat, dann sollten die Lücken weitestgehend geschlossen sein.

Ich hoffe, die Anderen korrigieren oder ergänzen mich, sollte da 'was nicht stimmen *g*

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen