PHP chrootolasa

Sziasztok!

Szeretnek olyat csinalni az egyik virtualgepemen, hogy chrootolom a phpt akar dinamikussan (pl abba a konyvtarba ahol van), vagy fixen (a virtualgep konyvtaraba). Ezenfelul szeretnem tiltan az exec()-et, esetleg hogy kinek a neveben fut azt is jo lenne allitani (peldaul a php tulajdonosanak a neveben).
Valaki csinalt mar ilyesmit? Nem nagyon talaltam megfelelo leirast, safe_modenal pedig irjak hogy ki fog kerulni a phpbol, de nem irjak hogy mi valtja ki. Lehet errol tudni valamit?
Elnezest ha esetleg mar foglalkozik ezzel forumtema, kerestem de nem talaltam naprakesz informaciot. Ha valaki megis rendelkezik ilyennel mar a linknek nagyon orulok. :) :)

PHP Version 5.3.3-7
Apache/2.2.16 (Debian)
libapache2-mod-php5el megy jelenleg, meg csak igy hasznaltam phpt, de annyit mar okosodtam hogy valahogy cgi modba kene futtatni a fenti manoverek egy reszehez.

Koszonettel: lazly

Hozzászólások

Hogy érted, hogy "abba a könyvtárba, ahol fut"? Ezt a <virtualhost> apache paraméterben állíthatod:


php_admin_value open_basedir "/home/userdir"

Jo, hat ilyet barhol lehet csinalni, kb 3 perc, nem kell hozza openbsd. De nem ez volt a kerdes, hanem az, hogy a phpt hogyan chrootolod (apache nelkul).

Ha chrootolnek, akkor semmilyen korulmenyek kozott nem tennem a webszervert es a phpt egy chrootba, mert az kb olyan, mint halottnak a csok. Szep gesztus, de nagyon ritkan van barmilyen eredmenye.

--
|8]

lehet, hogy félreértem, de a suphp nem jó neked?

A dolog úgy működik, hogy a PHP-t elindítod standalone FastCGI daemonként. Ha van legalább 5.3.3-as PHP-d, akkor van PHP-FPM, ami nagy királyság. Ezt szépen fölkonfigurálod, majd a webszerveredet ráirányítod a standalone PHP által odarakott socketre, legyen az Unix vagy TCP.

Az egyetlen dolog, amit így vesztesz, az a .htaccess-ből konfigurálható php.ini opciók, de azok egyébként is az ördögtől valók. Ezen felül a webszervered ugye a chrooton kívül lesz, ergó az még problémás lehet, főleg, ha engedsz rewriteokat a .htaccessből. Végeredményben akkor leszel biztonságban, ha valami nagyon pici webszervert beraksz a chrootba és lehetőleg bekorlátozod, hogy merre nyitogathat portokat.

Nem tudom, nekem a display_errors neha hianyzik a nem-modulos PHP eseteben, mint .htaccess-bol allithato php valtozo. Tudom, hogy van ini_set (ha van), de nem mindig szivesen ganyolok bele egy kesz alkalmazas (pl. drupal, wp) kodjaba ilyent.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

A custom php.ini talan rosszabb, mint a htaccess, az utobbira ugyanis van egy csomo korlat, mit lehet onnet megtenni, az elobbinek a szerkesztesi jogat viszont nem szabad, hogy megkapja a user - ott ugyanis a hatar a csillagos eg. Marpedig en pont olyan megoldason gondolkodom, ami nem arra epul, hogy minden ficni-fecni beallitasert az user support request-et kuld. Azt a vegletet mar ismerem.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal