Visudo 没有给出错误但询问“现在怎么办?”

Visudo 没有给出错误但询问“现在怎么办?”

我正在尝试使用 添加一个新的 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

相关内容