phpbar.de logo

Mailinglisten-Archive

[php] wie bau ich mir nen sicheren FileWarapper ?

[php] wie bau ich mir nen sicheren FileWarapper ?

Jochen Metzger php_(at)_phpcenter.de
Wed, 17 Jul 2002 10:41:33 +0200


Hi Jens,

läuft der Server unter Linux/Unix oder Windows?

> Ergo: Wenn ich die Dateien zwar nicht innerhalb der htdocs ablege, aber
der
> Webserver hinkommt, dann kommen alle anderen auch an die Daten, oder ?

Da hilft nur ein Zwei-Gruppen-System (das funzt zumindest unter Linux)

Der Apache läuft unter einer bestimmten Gruppe
z.B. wwwrun

Die user gehören alle einer anderen Gruppe an
z.B. ftponly.

Nun gibst du allen Verzeichnissen, an die die user nicht, aber der apache
doch rankommen soll, die Gruppenrechte
wwwrun

Wichtig ist hier: chmod 777 auf das Verzeichnis (minimum).

Damit der apache jetzt an die Files in diesem Verzeichnis rankommt, die alle
der Gruppe ftponly angehören. Mußt
Du mindest o+r - Rechte setzen.
d.h. Weltleserechte.

Praktisch
User 1:
htdocs/user1  user1:wwwrun drwxrwx---
Verzeichnisinhalt htdocs/user1
hallo.php       user1:ftponly -rwxrwxr--

User 2:
htdocs/user2  user2:wwwrun drwxrwx---
Verzeichnisinhalt htdocs/user2
hallo.php       user2:ftponly -rwxrwxr--

Jetzt könnte zwar user2 die dateien von user1 lesen, allerdings kommt er
nicht an das Verzeichnis ran,
weil er dort keine Rechte hat.

Er kommt nur in sein eigenes Verzeichnis, der apache
kommt aber überallhin -> allerdings nur mit Leserechten.

Wenn du das außerhalb von root machst würde ich das ähnlich machen dann halt
einfach

/somewhere/temp_for_apache   wwwrun:wwwrun drwxrwx---

Inhalt von temp_for_apache
file1.php  wwwrun:wwwrun    -rwxrwx---

Das sollte dann gehen.

Etwas ausschweifend, aber sollte gehen

Grüße
Jochen Metzger


php::bar PHP Wiki   -   Listenarchive