为什么我必须用 visudo 编辑 /etc/sudoers?

为什么我必须用 visudo 编辑 /etc/sudoers?

我注意到 sudoers 文件和 cron 配置文件与 Linux 上的其他配置文件相比,其行为方式比较特殊。它们需要使用特殊包装器进行编辑,而不是任何文本编辑器。这是为什么呢?

答案1

您使用 visudo 的主要目的是防止系统崩溃。Visudo 会检查您的更改,以确保您没有弄乱任何东西。如果您确实弄乱了某些东西,您可能会完全丧失修复它或执行任何需要特权的操作的能力,而无需重新启动进入救援模式。

手册页描述了

visudo 以安全的方式编辑 sudoers 文件,类似于 vipw(8)。visudo 锁定 sudoers 文件以防止同时进行多个编辑,提供基本的健全性检查,并检查解析错误。如果 sudoers 文件当前正在被编辑,您将收到一条消息,要求您稍后再试。

答案2

Zoredache 的回答非常完美。

还有一件值得一提的事情。您可以通过设置EDITOR或使用您喜欢的编辑器VISUAL

export EDITOR=whatevertexteditoryouwant
export VISUAL=whatevertexteditoryouwant

或者:

EDITOR=whatevertexteditoryouwant visudo

相关内容