我正在尝试使用 添加一个新的 sudoers 文件sudo visudo -f /etc/sudoers.d/abe
。我添加了以下内容:
# Allow automatic update of abe
matt ALL=(root) NOPASSWD: python /home/matt/token-abe/setup.py install --force
但当我尝试写入并退出时,我得到了“现在怎么办?”,没有任何错误:
$ sudo visudo -f /etc/sudoers.d/abe
[sudo] password for matt:
What now? e
What now?
我正在使用 Debian 7。
答案1
你刚刚编辑的文件中有一个错误,这就是 visudo 发出抱怨的原因。来自http://www.courtesan.com/sudo/man/1.7.10/visudo.man.html:
visudo 在编辑后解析 sudoers 文件,如果存在语法错误,则不会保存更改。发现错误后,visudo 将打印一条消息,指出发生错误的行号,用户将收到“现在怎么办?”提示。此时,用户可以输入“e”重新编辑 sudoers 文件,输入“x”退出而不保存更改,或输入“Q”退出并保存更改。应特别小心使用“Q”选项,因为如果 visudo 认为存在解析错误,sudo 也会认为存在解析错误,并且在错误修复之前,任何人都无法再次使用 sudo。如果在检测到解析错误后输入“e”来编辑 sudoers 文件,则光标将放在发生错误的行上(如果编辑器支持此功能)。
关于你的错误,“python”命令是否缺少完整路径?我的意思是:
matt ALL=(root) NOPASSWD: /usr/bin/python /home/matt/token-abe/setup.py install --force