[ BigFoot @ 19.03.2013. 17:09 ] @
Web majstori,

Kako na Ubuntu da sprečim da PHP fajl ima pristup van svog direktorijuma? Npr. napravim Apache virtual host i u php napišem echo file_get_contents('/etc/passwd') i dobijem sadržaj
Probao sam sa .htaccess, Apache se pokreće kao www-data user i www-data grupa.
[ maksvel @ 19.03.2013. 17:20 ] @
Rekao bih da ti treba ovo:
Citat:

PHP has built in a kind of chroot environment. It is called “basedir”. You can configure PHP scripts to access files only in specific directory similar to chroot. Basically you can configure each site to access only files located in that site directory which is a very good idea from the security point of view.

You can add the following lines to the website configuration file or to .htaccess file to enable PHP basedir:

Php_value open_basedir /var/www/foo.bar/:/usr/local/php/
This will specify that your PHP scripts can access only specified directories.

http://www.kyplex.com/docs/apache-security.html
[ tarla @ 19.03.2013. 21:43 ] @
tebi treba chroot web servera
[ BigFoot @ 21.03.2013. 09:39 ] @
Da, ali treba mi chroot na nivou virtual host-a, dakle za dva, dva posebna, svakom svoj.

Ovo što sam video sa ChrootDir /path/to/directory važi za sve i ne sprečava medjusobno pristup izmedju host-ova, ali sprečava sve van toga.
[ agvozden @ 22.03.2013. 09:19 ] @
da li si razmišljao da PHP skripte pokreneš kao CGI ili FCG proces, onda se oni izvršavaju sa korisničkim imenima. Na taj način pristupaju samo fajlovima koje korisnici mogu videti...
[ tarla @ 22.03.2013. 09:46 ] @
mod_fcgid recimo

Tada možeš na sve fajlove staviti x00 permisije pa da niko osim owner-a ne može ni da ih čita...