Portál AbcLinuxu, 24. dubna 2024 21:22


Dotaz: PHP, exec() a omezeni na vybrane programy nebo adresar

3.1.2013 21:18 hermelin | skóre: 21
PHP, exec() a omezeni na vybrane programy nebo adresar
Přečteno: 570×
Odpovědět | Admin
Zdravim

Chtel jsem se zeptat zda existuje nejaka alternativa za safe_mode_include_dir v novejsich verzich PHP ?

Chtel bych uzivatelum povolit exec() ale pouze na vybrane programy pripadne pristup pro exec() pouze do vybranych adresaru ?

Diky

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

3.1.2013 21:45 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: PHP, exec() a omezeni na vybrane programy nebo adresar
Odpovědět | | Sbalit | Link | Blokovat | Admin
Obmedzenia nastav na urovni suboroveho systemu, ina a ani lepsia moznost nie je.
3.1.2013 21:49 hermelin | skóre: 21
Rozbalit Rozbalit vše Re: PHP, exec() a omezeni na vybrane programy nebo adresar
Uff to je dost neprakticky - skoda ze to nejde alespon ohlidat pomoci open_basedir
Josef Kufner avatar 3.1.2013 22:35 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: PHP, exec() a omezeni na vybrane programy nebo adresar
Stačí spouštět PHP skripty pod uživatelem, kterému patří a nikoliv pod kterým běží web server (snad všechny servery to umí, koukni do dokumentace).
Hello world ! Segmentation fault (core dumped)
4.1.2013 12:42 hermelin | skóre: 21
Rozbalit Rozbalit vše Re: PHP, exec() a omezeni na vybrane programy nebo adresar
a jak tim vyresim to ze nechci aby uzivatel mohl spoustet cokoliv napr z /bin ale pouze vybrane ? Asi opet nastavenim prav ve filesystemu ? To mi neprijde zrovna idealni.
Josef Kufner avatar 4.1.2013 12:45 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: PHP, exec() a omezeni na vybrane programy nebo adresar
Však od toho ta práva jsou.
Hello world ! Segmentation fault (core dumped)
4.1.2013 13:05 hermelin | skóre: 21
Rozbalit Rozbalit vše Re: PHP, exec() a omezeni na vybrane programy nebo adresar
Ano ano to souhlasim. Ale spis jsem dotazem myslel jestli lze tak krasne jednoduse a elegantne jako pomoci safe_mode_include_dir lze toto udelat i v novejsim PHP.

Jinak o phpSU i fastCGI vim :-).
rADOn avatar 4.1.2013 16:09 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: PHP, exec() a omezeni na vybrane programy nebo adresar
Exec binarky predava rizeni mimo php, ergo zadna magicka hulka pro blby v php byt nemuze, interpret je proste v tu chvili ze hry. Exec je povazovany ze nebezpecnou hracku prave proto ze zadne idiot-proof omezeni nelze udelat. Leccos se da zaridit pres chroot nebo zmenu eid, ale to uz neni amaterska liga. Pokud ti nastavovani prav ve fs pripada slozite tak udelas nejlip kdyz se budes od exec() drzet dal.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
5.1.2013 10:57 hermelin | skóre: 21
Rozbalit Rozbalit vše Re: PHP, exec() a omezeni na vybrane programy nebo adresar
Kdyz si prectes dotaz tak jsem se ptal na to jestli lze v novych verzich pouzit neco podobneho jako safe_mode_include_dir. O tom ze bych neumel nastavit prava na urovni FS jsem nepsal nic.

Ano lze to nastavit na urovni FS - to ovsem nepovazuji za jednoduchou a krasnou alternativu safe_mode_include_dir na kterou jsem se ptal.

safe_mode_include_dir ma jednu ohromnou vyhodu - vse je defalutne zakazano a lze jednoduse rici co je povoleno (a to pouze v ramci php - ne cele funkcnosti systemu)

Evidentne magicka hulka byt muze kdyz ve starsich verzich php to slo v konfiguraku php nastavit - dokonce per directory i virtual.

Ok - rikate ze alternativa v novych verzich PHP k tomu neni - beru na vedomi

Diky za odpovedi
5.1.2013 11:54 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: PHP, exec() a omezeni na vybrane programy nebo adresar
Lenze prave preto, ze to az tak zazracne nefungovalo, to bolo odstranene. Bola to skor iluzia bezpecnosti.
rADOn avatar 9.1.2013 14:20 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: PHP, exec() a omezeni na vybrane programy nebo adresar
safe_mode především nikdy pořádně nefungoval. Evidentně magická hůlka zase tak magická nebyla.
…lze jednoduse rici co je povoleno (a to pouze v ramci php - ne cele funkcnosti systemu)…
A to je důvod proč to nikdy nemůže a nebude pořádně fungovat. Interpret není v pozici aby něco takového mohl vynutit, to může pouze kernel. Ve skutečnosti php ani ve vlastních komponentách, kde jedině může interpret něco vynutit, nedokázalo ty kontroly udržovat. Proto taky celou tu šaškárnu se safe_mode zrušili.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
9.1.2013 17:28 hermelin | skóre: 21
Rozbalit Rozbalit vše Re: PHP, exec() a omezeni na vybrane programy nebo adresar
Dik za vysvetleni
3.1.2013 22:51 Sten
Rozbalit Rozbalit vše Re: PHP, exec() a omezeni na vybrane programy nebo adresar
Odpovědět | | Sbalit | Link | Blokovat | Admin
Já na to používám PHP-FPM, skripty se potom spouští pod určitým uživatelem a v chrootu (který mám identický s chrootem SFTP). Ale je trošku složitější jej nastavit.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.