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.
- 4339 megtekintés
Hozzászólások
<Directory /home/domain1/host1>
php_admin_value open_basedir /home/domain1/host1
</Directory>
- A hozzászóláshoz be kell jelentkezni
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?
- A hozzászóláshoz be kell jelentkezni
DocumentRoot-nak mi van beallitva az apache-ban es a virtualhost-ban?
- A hozzászóláshoz be kell jelentkezni
<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.
- A hozzászóláshoz be kell jelentkezni
libapache2-mod-chroot nezted mar?
- A hozzászóláshoz be kell jelentkezni
Bővebb infót tudnál nekem erről mondani?
- A hozzászóláshoz be kell jelentkezni
Azt nem hasznalhatod virtualhost contextben, ugyhogy az osszes virtualhostot ugyanoda kell chrootolni, ergo egymas file-jait meg mindig latjak.
- A hozzászóláshoz be kell jelentkezni
Szerintem az open basedir csak a fileok megnyitasat akadalyozza, a listazasukat nem, tehat szerintem probalj meg egy /etc alatt levo file-t megnyitni peldaul.
- A hozzászóláshoz be kell jelentkezni
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 hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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?
- A hozzászóláshoz be kell jelentkezni
open_basedir foo:bar:foobar
php.net/manual oldalt olvasgasd
t
- A hozzászóláshoz be kell jelentkezni
Köszi, megoldottam -val.
- A hozzászóláshoz be kell jelentkezni
php_admin_value kell! nem flag! A flag csak "bool tipusu" beallitasokra hasznalhato, mint pl register globals on/off.
- A hozzászóláshoz be kell jelentkezni