我意识到,授予www-data
带有visudo的完全权限是不安全的做法。但是,即使具有最高权限,特权shell命令也不起作用。
/var/www/html/index.php
中的PHP代码:
<?php
echo shell_exec("ls"); //expected output is echoed
echo shell_exec("bitcoin-cli getbalance"); //does not output anything
?>
如果我自己在外壳程序中键入任一命令,我将得到期望的输出。
我的sudoers文件如下:
...
root ALL=(ALL:ALL) ALL
%admin ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL
#includedir /etc/sudoers.d
www-data ALL=NOPASSWD: ALL
为什么shell_exec("any command I like")
不能使用此配置?