php - 为什么即使拥有完整的 visudo 权限,shell_exec 也无法工作?
问题描述
我意识到www-data
使用 visudo 授予完全权限是不好的安全做法。但是,即使具有最高权限,特权 shell 命令也不起作用。
中的 PHP 代码/var/www/html/index.php
:
<?php
echo shell_exec("ls"); //expected output is echoed
echo shell_exec("bitcoin-cli getbalance"); //does not output anything
?>
如果我自己在 shell 中输入任何一个命令,我都会得到我期望的输出。
我的 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")
不使用此配置?
解决方案
推荐阅读
- python - 在 Python 中创建 Azure 密钥保管库
- swift - 如何在 swift ui 中调整形状以适应文本视图的长度和宽度
- javascript - 根据第 n 个深度嵌套对象中的属性过滤对象
- python-3.x - 为什么我在使用 Reddit API 时收到 429 错误?
- python - 如何从 multiIndex 数据框中选择特定列?
- javascript - 检查来自 json 对象的所有值以呈现视图
- python-3.x - Sobel滤波器实现
- html - 如何使用 html 在 x 轴上的表格中重复图像?
- c++ - std::vector 和 std::array 之间的区别
- .net - Ms Graph 读取消息给出 ErrorAccesDenied