为什么我们需要使用visudo而不是直接修改sudoers文件?

为什么我们需要使用visudo而不是直接修改sudoers文件?

我理解,如果您想修改谁可以使用它sudo以及他们可以用它做什么,您应该使用visudo.我知道我不应该自己直接修改 /etc/sudoers 文件。

visudo直接修改文件不能做什么?会出现什么问题?

答案1

visudo检查文件语法实际上覆盖该sudoers文件。

如果您使用普通编辑器,弄乱语法,然后保存...sudo将(可能)停止工作,并且由于/etc/sudoers只能通过 进行修改root,因此您会陷入困境(除非您有另一种获得root权限的方法)。

此外,它还确保编辑将是一项原子操作。如果您需要确保没有其他人可以扰乱您仔细考虑的配置更改,那么这种锁定就很重要。除了以 root 身份编辑其他文件之外,/etc/sudoers还有一个sudoedit命令也可以防止此类编辑冲突。

答案2

从 visudo 手册页:

visudo 锁定 sudoers 文件,防止同时进行多个编辑,提供基本的健全性检查,并检查解析错误。如果当前正在编辑 sudoers 文件,您将收到一条消息,请稍后重试。

还要检查这个服务器故障的回答

相关内容