Datrysiad i PHP heb ganiatâd i weithredu gorchymyn gweithredu ar Linux

Cyfeiriadau swyddogol cysylltiedig

PHP exec Linux sudoers file Sudo Commands

Addasiadau wrth redeg yn y modd fastcgi

Pan fydd PHP yn rhedeg yn y modd fastcgi, etifeddir ei ganiatâd o'i raglen westeiwr. Rydym yn cymryd apache fel enghraifft i egluro. Yn gyntaf, mae angen i ni ddod o hyd i'r cyfrif y mae apache yn rhedeg oddi tano, ac yna defnyddio vi neu vim i olygu'r ffeil / etc / sudoers, ac ychwanegu'r enghraifft gyfeirio ganlynol at y ffeil. Yn y cynnwys canlynol, defnyddiwch y gorchymyn ps yn gyntaf i ddod o hyd i'r broses apache httpd, edrychwch ar wybodaeth y cyfrif ar ochr chwith y canlyniad a ddychwelwyd, ac yna golygu'r ffeil sudoers i ychwanegu awdurdodiad i'r cyfrif apache.

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

Newidiadau wrth redeg yn y modd php-fpm

Wrth redeg yn y modd php-fpm, mae'n rhedeg fel proses ar wahân. Felly rydyn ni'n dod o hyd i'w gyfrif rhedeg yn gyntaf, ac yna'n perfformio gweithrediadau awdurdodi fel uchod.

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

Gwiriwch fod y newidiadau yn dod i rym

Ar ôl y gweithrediadau uchod, rydym wedi addasu'r awdurdodiad, ond nid yw wedi dod i rym eto. Mae angen i ni ailgychwyn y gwasanaeth i sicrhau bod ein haddasiad yn dod i rym. Yn ôl ein sefyllfa wirioneddol, ailgychwynwch y gwasanaeth apache neu php-fpm. Yna gweithredwch y gorchymyn gweithredu i weld y canlyniad a ddychwelwyd. Os ceir y canlyniad a ddychwelwyd fel arfer, mae'n llwyddiannus.

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