Linux'та exec командасын башкарырга рөхсәтсез PHP чишелеше

Охшаш рәсми сылтамалар

PHP exec Linux sudoers file Sudo Commands

Fastcgi режимында эшләгәндә үзгәртүләр

PHP fastcgi режимында эшләгәндә, аның рөхсәтләре хуҗа программасыннан мирас итеп алына. Апачаны аңлату өчен мисал итеп алабыз. Башта безгә апач эшләгән счетны табарга, аннары vi яки vim кулланып / etc / sudoers файлын редакцияләргә, һәм файлга түбәндәге сылтама өстәргә кирәк. Киләсе эчтәлектә, башта pd командасын кулланыгыз, apache процессын табу, кире нәтиҗәләрнең сул ягында хисап мәгълүматын карау, аннары 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
        

Changesзгәрешләрнең көченә керүен тикшерегез

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

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