PHPди Linuxто exec командасын аткарууга уруксаты жок чечим
Тиешелүү расмий шилтемелер
PHP exec Linux sudoers file Sudo CommandsFastcgi режиминде иштеп жатканда өзгөртүүлөр
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);