我理解,如果您想修改谁可以使用它sudo
以及他们可以用它做什么,您应该使用visudo
.我知道我不应该自己直接修改 /etc/sudoers 文件。
visudo
直接修改文件不能做什么?会出现什么问题?
答案1
visudo
检查文件语法前实际上覆盖该sudoers
文件。
如果您使用普通编辑器,弄乱语法,然后保存...sudo
将(可能)停止工作,并且由于/etc/sudoers
只能通过 进行修改root
,因此您会陷入困境(除非您有另一种获得root权限的方法)。
此外,它还确保编辑将是一项原子操作。如果您需要确保没有其他人可以扰乱您仔细考虑的配置更改,那么这种锁定就很重要。除了以 root 身份编辑其他文件之外,/etc/sudoers
还有一个sudoedit
命令也可以防止此类编辑冲突。
答案2
从 visudo 手册页:
visudo 锁定 sudoers 文件,防止同时进行多个编辑,提供基本的健全性检查,并检查解析错误。如果当前正在编辑 sudoers 文件,您将收到一条消息,请稍后重试。
还要检查这个服务器故障的回答。