我想使用/etc/sudoers.d.
所以我做了以下事情:
visudo -f /etc/sudoers.d/99-php
Run Code Online (Sandbox Code Playgroud)
并输入此 sudo 规则:
www-data ALL = (root) NOPASSWD: /etc/my_script.sh
Run Code Online (Sandbox Code Playgroud)
在/etc/my_script.sh脚本中,我在/tmp再次删除它们之前创建了一个文件夹和几个文件。
去测试:
su www-data
/etc/my_script.sh
Run Code Online (Sandbox Code Playgroud)
这给了我很多这样的权限错误:
rm: cannot remove «/tmp/my_file.txt»: Access denied
Run Code Online (Sandbox Code Playgroud)
暗示我的脚本实际上根本没有以 root 身份运行。
那么我该怎么做才能让它发挥作用?