有个Python脚本需要通过PHP调用,PHP运行在Ubuntu下的Nginx服务器上。
首先查看php运行用户,可以在web服务器配置文件中查看,或者运行<?php echo shell_exec("id -a");?>查看。
也可以通过phpinfo()函数进行查看。
我的PHP运行用户是www,不过不同系统和不同服务器都不一样。
然后编辑/etc/sudoers文件vi /etc/sudoers。
首先加上www用户 www ALL=(ALL) NOPASSWD:ALL。
第一个ALL代表网络中的主机,第二个括号里面的ALL代表目标用户,表示以谁的身份去执行命令,最后一个ALL代表的是可执行的命令名(可以指定你想要该用户能够执行的命令)。其中NOPASSWD表示不用输入密码。
[……]