PHP és Apache beállítás (open_basedir???)

Fórumok

Adott egy szerver, amin van 2 domain, 2-2 virtuális hoszttal.
host1.domain1.hu /home/domain1/host1
host2.domain1.hu /home/domain1/host2
host1.domain2.hu /home/domain2/host1
host2.domain2.hu /home/domain2/host2

FTP-vel nincs semmi gond, az teljesen jó.
A gondom az, hogyha pl a host1.domain1.hu -ra felteszek egy scriptet, ami a könyvtár struktúrát írja ki, azzal el tudom érni a /etc -t a /var -t, és mindent, amit abszolút nem kellene.
Hogyan tudom ezt kiküszöbölni, hogy a dhoszthoz tartozó kezdőmappa az ténylegesen a sajátja legyen, és ne férjen hozzá mások (és főleg a rendszer) dolgaihoz? Mint pl az FTP-nél, ahol a megadott kezdő mappánál nem tud "fentebb" lépni.
Valami olyan beállítás lenne a legjobb, amit az Apache Virtualhostok beállításánál adhatok meg, de sajna még nem sikerült megoldanom ezt a problémát.
Elég fontos lenne, a válaszokat előre is köszönöm.

Hozzászólások

<Directory /home/domain1/host1>
php_admin_value open_basedir /home/domain1/host1
</Directory>

Pontosan ezt próbáltam beállítani én is, de sajnos nem hatotta meg a dolog.
A gond az, hogy ha kilistázom a / mappa tartalmát, akkor is látom az /etc -t, a /bin -t, mindent, és helyette csak a /home/domain1/host1 tartalmát kellene látnom :(

Valakinek esetleg vmi más ötlete?


<VirtualHost *>
    ServerAdmin hostmaster@domain1.hu
    DocumentRoot /var/www/
    ServerName www.domain1.hu
</Virtualhost>

<VirtualHost *>
    ServerAdmin hostmaster@domain1.hu
    DocumentRoot /home/djsilas/work
    ServerName work.domain1.hu
</Virtualhost>

<VirtualHost *>
    ServerAdmin hostmaster@domain1.hu
    DocumentRoot /home/user1/domain2/www
    ServerName www.domain2.hu
</Virtualhost>

<VirtualHost *>
    ServerAdmin hostmaster@domain1.hu
    DocumentRoot /home/user1/domain3/www
    ServerName www.domain3.hu
</Virtualhost>

<VirtualHost *>
    ServerAdmin hostmaster@domain1.hu
    DocumentRoot /home/user2/domain4/www
    ServerName www.domain4.hu
</Virtualhost>

<VirtualHost *>
    ServerAdmin hostmaster@domain1.hu
    DocumentRoot /home/user2/domain4/admin
    ServerName admin.domain4.hu
</Virtualhost>

És a lényeg az lenne, ha pl az admin.domain4.hu -ra feltöltöt egy PHP-t. Kilistáztatom a /-t.
Akkor én ne a rendszer gyökerét lássam, hanem a /home/user2/domain4/admin -t, és ne is lehessen "kilépni" innen.

Ezt ne a Directory direktivab add meg, hanem a "global" reszeben a virtualhost -ban.
Meg csinalj egy php.php fajlt, ami ennyi legyen csak:


<?php
phpinfo();
?>

Nyisd meg bongeszobol a fajlt es nezd meg, hogy milyen erteke van az open_basedirnek
Ha nem az amit beallitottal, akkor valami szintaktikai hiba van a virtualhost resznel.

___________________________________________________________________
Lógnak a pálmafán a kókuszok .... :)
http://laszlo.co.hu/

a "php_admin_value open_basedir /home/domain1/host1" -t a virtualhosthoz ird be.

Es akkor persze meg van rengeteg mas modsyer is.
Akar ACLeket is hasznalhatnal.

Nálam az a gond, hogy egyes virthostokhoz tartozhat squirrelmail.

Ha bekapcsolom az open_basedir-t (php_admin_flag open_basedir /var/www/www.virthostneve.hu/), akkor a squirrel megmurdel (Warning: Unknown(): open_basedir restriction in effect..........).

Ha "php_admin_flag open_basedir /var/www/www.virthostneve.hu/squirrelmail" van, akkor is. Ha "php_admin_flag open_basedir /var/www/squirrelmail" van, akkor is.

Be lehet szorítani az adott virthostot a saját könyvtára alá úgy, hogy ott és csakis ott bármit csinálhat?