PHPди Linuxто exec командасын аткарууга уруксаты жок чечим

Тиешелүү расмий шилтемелер

PHP exec Linux sudoers file Sudo Commands

Fastcgi режиминде иштеп жатканда өзгөртүүлөр

PHP fastcgi режиминде иштеп жатканда, анын уруксаттары хост программасынан тукум кууп өтөт. Түшүндүрүү үчүн мисал катары апачени алалы. Биринчиден, биз apache иштеп жаткан эсепти таап, / etc / sudoers файлын түзөтүү үчүн vi же vim колдонуп, файлга төмөнкү шилтеме мисалын кошушубуз керек. Төмөнкү мазмунда, биринчи жолу ps буйругун колдонуп, apache жараянын httpd табыңыз, кайтарылган натыйжанын сол жагындагы каттоо эсебинин маалыматын карап, андан кийин sudoers файлын түзөтүп, apache эсебине авторизация кошуңуз.

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

Php-fpm режиминде иштеп жатканда өзгөртүүлөр

Php-fpm режиминде иштеп жатканда, ал өзүнчө процесс катары иштейт. Ошентип, биз алгач анын иштеп жаткан эсебин таап, андан кийин жогоруда көрсөтүлгөндөй авторизациялык операцияларды жасайбыз.

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

Өзгөртүүлөр күчүнө кирээрин ырастаңыз

Жогорудагы операциялардан кийин биз авторизацияны өзгөрттүк, бирок ал азырынча күчүнө кире элек.Модификация күчүнө кириши үчүн кызматты өчүрүп-күйгүзүшүбүз керек. Биздин иш жүзүндөгү кырдаалга ылайык, apache же php-fpm кызматын өчүрүп-күйгүзүңүз. Андан кийин кайтарылган натыйжаны көрүү үчүн exec командасын аткарыңыз, эгерде кайтарылган натыйжа адатта алынса, анда ал ийгиликтүү болот.

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