ubuntu16 php 以root 权限运行shell命令

有时候执行php 执行某些shell命令必须使用root权限.如下设置可以让php 免密码运行 sudo

用命令 编辑 /etc/sudoers:

visudo -f /etc/sudoers

加入如下三行:

www-data ALL=(root) NOPASSWD: /bin/cp
www-data ALL=(root) NOPASSWD: /bin/mv
www-data ALL=(root) NOPASSWD: /usr/bin/python
#www-data 是nginx用户组
#www-data 组可以免root 密码运行sudo 开头命令

然后php,或者其他属于www-data组的程序就可以执行sudo 开头的shell命令.如:

$shell = "sudo cp ./test.php ./demo.php";
shell_exec($shell);

你可能感兴趣的:(PHP)