设置让php能够以root权限来执行exec() 或者 shell_exec()
生活随笔
收集整理的這篇文章主要介紹了
设置让php能够以root权限来执行exec() 或者 shell_exec()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
設置讓php能夠以root權限來執行exec() 或者 shell_exec()
前言:php經常需要在服務器端使用exec()來做一些事情、這時候很多事情都需要root權限來執行命令!默認都是不支持的。
一、查看啟動你php的進程的用戶是誰。
可以通過在命令行執行:ps -ef | grep php來看?;蛘咴趐hp中執行 echo exec('whoami') 來查看。centos下默認會是nobody。 nobody默認沒有任何權限。
此時先自己添加一個用戶和組。
/usr/sbin/groupadd xxxx /usr/sbin/useradd -g xxxx -s /bin/bash xxxx加完用戶后、vim /etc/passwd 里面就可以看到你添加的用戶了。
二、修改php啟動用戶為您剛添加的用戶
找到你得php安裝的地方的php-fpm.conf 。打開配置文件、編輯里面的 user = xxxx; ?group = xxxx; (xxxx為您剛才添加的用戶)
重啟php-fpm(service php-fpm restart)
重復上面查看php啟動進程的用戶、應該已經變了。
三、添加剛才的用戶xxxx到sudoers里面
visudo //修改/etc/sudoers的內容 ## Allow root to run any commands anywhere root ALL=(ALL) ALL xxxx ALL=(ALL) ALL //新添加這一行 %xxxx ALL=(ALL) NOPASSWD: ALL //設置xxxx組下面的用戶使用sudo不需要輸入密碼四、到這里已經可以正常在exec中使用sudo ?your command來執行命令了!!!!
轉載于:https://my.oschina.net/u/2364788/blog/1547983
總結
以上是生活随笔為你收集整理的设置让php能够以root权限来执行exec() 或者 shell_exec()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mycat环境搭建教程收集(待实践)
- 下一篇: getBoundingClientRec