Linux下PHP执行sudo权限命令
php执行命令的函数有好几个,比如 exec(), system(), passthru(), shell_exec() ,popen()等,这里就不介绍怎么使用了,查看php文档基本上就明白了!
这里讲解下需要注意的地方,php作为网页脚本执行需要sudo权限的命令时,一定要将执行用户(如www,nginx)加入sudo命令权限。
修改 /etc/sudoers 文件
Defaults requiretty
注释掉,修改为
#Defaults requiretty
上面这个有的可能没有,没有就不修改!
## Allow root to run any commands anywhere root ALL=(ALL) ALL
修改为
## Allow root to run any commands anywhere root ALL=(ALL) ALL www ALL=(ALL) ALL www ALL=(ALL) NOPASSWD: ALL
这里 www 具体看php脚本运行的用户是哪一个,有的可能是nginx或其它的。