Ben*_*ess 16 sudo ubuntu-18.04
我希望向/etc/sudoers.d
包含指令的文件夹添加一个文件,以允许www-data
在没有 root 密码的情况下运行一个特定的脚本。
该指令是
www-data ALL=(ALL) NOPASSWD: /path/to/script.sh
Run Code Online (Sandbox Code Playgroud)
如果我visudo
将其添加到 中/etc/sudoers
,则没有问题。
如果我将该行放在一个文件中并将其复制到/etc/sudoers.d
, 那么visudo
它会告诉我该文件在第 1 行附近有一个“语法错误”。
我还需要在文件中放入其他东西,或者我需要做些什么才能使其工作?
我正在运行 Ubuntu 18。
谢谢!
Ben*_*ess 20
我发现了问题 - 对于 /etc/sudoers.d 中的文件,文件不能以指令结尾,而是在新行上。这最容易用 显示cat -A
。
无效的文件:
root@server:/etc/sudoers.d# cat -A /etc/sudoers.d/testfile
www-data ALL=(ALL) NOPASSWD: /path/to/script.shroot@server:/etc/sudoers.d#
Run Code Online (Sandbox Code Playgroud)
有效文件:
root@server:/etc/sudoers.d# cat -A /etc/sudoers.d/testfile
www-data ALL=(ALL) NOPASSWD: /path/to/script.sh$
root@server:/etc/sudoers.d#
Run Code Online (Sandbox Code Playgroud)