ਲੀਨਕਸ ਉੱਤੇ ਐਗਜ਼ੀਕਿ commandਟਡ ਕਮਾਂਡ ਨੂੰ ਚਲਾਉਣ ਦੀ ਆਗਿਆ ਨਾ ਹੋਣ ਤੇ PHP ਦਾ ਹੱਲ
ਸਬੰਧਤ ਅਧਿਕਾਰਤ ਹਵਾਲੇ
PHP exec Linux sudoers file Sudo Commandsਫਾਸਟਕਿਗੀ ਮੋਡ ਵਿੱਚ ਚੱਲਣ ਵੇਲੇ ਸੋਧ
ਜਦੋਂ ਪੀਐਚਪੀ ਫਾਸਟਕਿਗੀ ਮੋਡ ਵਿੱਚ ਚੱਲ ਰਹੀ ਹੈ, ਤਾਂ ਇਸਦੇ ਅਨੁਮਾਨ ਇਸ ਦੇ ਹੋਸਟ ਪ੍ਰੋਗਰਾਮ ਤੋਂ ਵਿਰਾਸਤ ਵਿੱਚ ਮਿਲਦੇ ਹਨ. ਆਓ ਆਪਾਂਚੇ ਨੂੰ ਸਮਝਾਉਣ ਲਈ ਇੱਕ ਉਦਾਹਰਣ ਦੇ ਤੌਰ ਤੇ ਲੈਂਦੇ ਹਾਂ. ਪਹਿਲਾਂ, ਸਾਨੂੰ ਉਹ ਅਕਾਉਂਟ ਲੱਭਣ ਦੀ ਜ਼ਰੂਰਤ ਹੈ ਜਿਸ ਦੇ ਤਹਿਤ ਅਪਾਚੇ ਚੱਲ ਰਿਹਾ ਹੈ, ਅਤੇ ਫਿਰ vi ਜਾਂ vim ਨੂੰ / etc / sudoers ਫਾਈਲ ਨੂੰ ਸੰਪਾਦਿਤ ਕਰਨ ਲਈ ਵਰਤੋ, ਅਤੇ ਫਾਈਲ ਵਿੱਚ ਹੇਠ ਦਿੱਤੀ ਹਵਾਲਾ ਉਦਾਹਰਣ ਸ਼ਾਮਲ ਕਰੋ. ਹੇਠ ਦਿੱਤੀ ਸਮੱਗਰੀ ਵਿੱਚ, ਪਹਿਲਾਂ ਅਪਾਚੇ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਲੱਭਣ ਲਈ ps ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰੋ httpd, ਵਾਪਸੀ ਦੇ ਨਤੀਜੇ ਦੇ ਖੱਬੇ ਪਾਸਿਓਂ ਖਾਤੇ ਦੀ ਜਾਣਕਾਰੀ ਵੇਖੋ, ਅਤੇ ਫਿਰ ਅਪਾਚੇ ਖਾਤੇ ਵਿੱਚ ਅਧਿਕਾਰ ਜੋੜਨ ਲਈ sudoers ਫਾਈਲ ਵਿੱਚ ਸੋਧ ਕਰੋ.
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
ਜਾਂਚ ਕਰੋ ਕਿ ਤਬਦੀਲੀਆਂ ਲਾਗੂ ਹੁੰਦੀਆਂ ਹਨ
ਉਪਰੋਕਤ ਕਾਰਜਾਂ ਤੋਂ ਬਾਅਦ, ਅਸੀਂ ਅਧਿਕਾਰਾਂ ਨੂੰ ਸੋਧਿਆ ਹੈ, ਪਰ ਇਹ ਅਜੇ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਨਹੀਂ ਹੋਇਆ ਹੈ. ਆਪਣੀ ਸੋਧ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਬਣਾਉਣ ਲਈ ਸਾਨੂੰ ਸੇਵਾ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ. ਸਾਡੀ ਅਸਲ ਸਥਿਤੀ ਦੇ ਅਨੁਸਾਰ, ਅਪਾਚੇ ਜਾਂ php-fpm ਸੇਵਾ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰੋ. ਫੇਰ ਨਤੀਜਾ ਵੇਖਣ ਲਈ ਐਗਜ਼ੈਕਟ ਕਮਾਂਡ ਨੂੰ ਚਲਾਉ, ਜੇਕਰ ਵਾਪਸੀ ਨਤੀਜਾ ਆਮ ਤੌਰ ਤੇ ਪ੍ਰਾਪਤ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਇਹ ਸਫਲ ਹੁੰਦਾ ਹੈ.
exec('sudo dmidecode -s system-serial-number', $result);
var_dump($result);