Решење за ПХП који нема дозволу за извршавање екец наредбе на Линуку

Повезане званичне референце

PHP exec Linux sudoers file Sudo Commands

Измене приликом рада у фастцги режиму

Када се ПХП изводи у фастцги режиму, његове дозволе се наслеђују од главног програма. Као пример објашњавамо апацхе. Прво, морамо да пронађемо рачун под којим је Апацхе покренут, а затим помоћу ви или вим уредимо датотеку / етц / судоерс и у датотеку додамо следећи референтни пример. У следећем садржају, прво користите команду пс да бисте пронашли процес апацхе хттпд, погледали информације о рачуну на крајњој левој страни враћеног резултата, а затим уредите датотеку судоерс да бисте додали овлашћење на рачун апацхе-а.

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

Измене приликом покретања у режиму пхп-фпм

Када се изводи у режиму пхп-фпм, он се изводи као засебан процес. Дакле, прво пронађемо његов текући рачун, а затим изводимо операције ауторизације као горе.

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

Проверите да ли промене ступају на снагу

Након горе наведених операција, изменили смо овлашћење, али оно још увек није ступило на снагу. Морамо поново покренути услугу да би наша модификација ступила на снагу. Према нашој стварној ситуацији, поново покрените услугу апацхе или пхп-фпм. Затим извршите наредбу екец за приказ враћеног резултата. Ако се враћени резултат добије нормално, успешан је.

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