Solisyon PHP pa gen pèmisyon pou egzekite kòmand exec sou Linux
Referans ofisyèl ki gen rapò
PHP exec Linux sudoers file Sudo CommandsModifikasyon lè w ap kouri nan mòd fastcgi
Lè PHP ap kouri nan mòd fastcgi, otorizasyon li yo eritye de pwogram lame li yo. Nou pran Apache kòm yon egzanp yo eksplike. Premye a tout, nou bezwen jwenn kont lan anba ki apache ap kouri, Lè sa a, sèvi ak vi oswa vim edite dosye a / elatriye / sudoers, epi ajoute egzanp referans sa a nan dosye a. Nan kontni sa a, premye sèvi ak lòd la ps jwenn pwosesis la apache httpd, gade nan enfòmasyon sou kont sou bò gòch nan rezilta a retounen, ak Lè sa a, modifye dosye a sudoers ajoute otorizasyon nan kont lan apache.
ps aux | grep httpd
vim /etc/sudoers
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
apache ALL=(ALL) NOPASSWD:ALL
Metòd modifikasyon lè w ap kouri nan mòd php-fpm
Lè w ap kouri nan mòd php-fpm, li kouri tankou yon pwosesis apa. Se konsa, nou premye jwenn kont kouri li yo, ak Lè sa a, fè operasyon otorizasyon tankou pi wo a.
ps aux | grep php-fpm
vim /etc/sudoers
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
www ALL=(ALL) NOPASSWD:ALL
Verifye si chanjman yo pran efè
Apre operasyon ki anwo yo, nou te modifye otorizasyon an, men li poko pran efè .. Nou bezwen rekòmanse sèvis la pou fè modifikasyon nou an pran efè. Dapre sitiyasyon aktyèl nou an, rekòmanse sèvis la apache oswa php-fpm. Lè sa a, egzekite lòd la exec yo wè rezilta a retounen.Si rezilta a retounen jwenn nòmalman, li se siksè.
exec('sudo dmidecode -s system-serial-number', $result);
var_dump($result);