在/etc/sudoers
中,它说:
# This file MUST be edited with the 'visudo' command as root.
我的问题是,为什么必须使用 编辑此文件visudo
?
看来我能够gedit
通过发出以下命令成功地编辑文件:
sudo gedit /etc/sudoers
如果我能够使用 编辑它gedit
,为什么我必须使用visudo
?
在/etc/sudoers
中,它说:
# This file MUST be edited with the 'visudo' command as root.
我的问题是,为什么必须使用 编辑此文件visudo
?
看来我能够gedit
通过发出以下命令成功地编辑文件:
sudo gedit /etc/sudoers
如果我能够使用 编辑它gedit
,为什么我必须使用visudo
?
使用起来更安全
visudo
。你可以/etc/sudoers
直接编辑,但是如果你在那里打错了,你就不能再使用sudo
了。并且无法修复您的错误。visudo
针对多个同时编辑锁定 sudoers 文件,提供基本的完整性检查,并检查解析错误。您可以通过以下方式阅读更多内容:
当您使用 时
visudo
,如果您设法引入语法错误,visudo
只会退出并提示“现在怎么办?”,但它不会在屏幕上为您提供任何选项。但是,选项在
visudo
联机帮助页中说明:然而,这几乎是一堵文字墙,而且不是很直观。
为避免在出现语法错误时造成混淆,我建议您在您的
~/.bashrc
(或源自 的另一个文件~/.bashrc
)中定义以下函数。现在这有两个优点:
editsudo
确保运行sudo visudo
(因此它更短)。editsudo
首先打印一个帮助文本,这样如果您因错误退出,您就会在上面看到相关信息。直接从马嘴里说
man visudo
: