Soluzzjoni għal PHP li m'għandux permess biex jeżegwixxi l-kmand exec fuq Linux

Referenzi uffiċjali relatati

PHP exec Linux sudoers file Sudo Commands

Modifiki meta taħdem fil-modalità fastcgi

Meta PHP ikun qed jaħdem fil-modalità fastcgi, il-permessi tiegħu jintirtu mill-programm ospitanti tiegħu. Nieħdu l-apache bħala eżempju biex nispjegaw. L-ewwelnett, għandna nsibu l-kont li taħtu jaħdem apache, u mbagħad nużaw vi jew vim biex neditjaw il-fajl / etc / sudoers, u żid l-eżempju ta 'referenza li ġej mal-fajl. Fil-kontenut li ġej, l-ewwel uża l-kmand ps biex issib il-proċess apache httpd, ħares lejn l-informazzjoni tal-kont fuq in-naħa tax-xellug tar-riżultat ritornat, u mbagħad editja l-fajl sudoers biex iżżid l-awtorizzazzjoni għall-kont apache.

            ps aux | grep httpd
vim /etc/sudoers
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
apache ALL=(ALL) NOPASSWD:ALL
        

Modifiki meta taħdem fil-modalità php-fpm

Meta taħdem fil-modalità php-fpm, din taħdem bħala proċess separat. Allura l-ewwel insibu l-kont tal-ġiri tagħha, u mbagħad inwettqu operazzjonijiet ta 'awtorizzazzjoni bħal hawn fuq.

            ps aux | grep php-fpm
vim /etc/sudoers
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
www ALL=(ALL) NOPASSWD:ALL
        

Ivverifika li l-bidliet jidħlu fis-seħħ

Wara l-operazzjonijiet ta 'hawn fuq, immodifikajna l-awtorizzazzjoni, iżda għadha ma daħlitx fis-seħħ. Għandna nibdew is-servizz mill-ġdid biex il-modifika tagħna tidħol fis-seħħ. Skond is-sitwazzjoni attwali tagħna, erġa 'ibda s-servizz apache jew php-fpm. Imbagħad eżegwixxi l-kmand exec biex tara r-riżultat mibgħut lura. Jekk ir-riżultat mibgħut jinkiseb normalment, huwa suċċess.

            exec('sudo dmidecode -s system-serial-number', $result);
var_dump($result);