请解释为什么使用 visudo 编辑 /etc/sudoers 文件而不是 vi /etc/sudoers,以及文件如何损坏。我们如何恢复损坏的文件?
答案1
如果您使用visudo
,则会在返回 shell 之前对文件进行验证,从而可以捕获许多严重的拼写错误或错误(在验证检查中),然后返回编辑器以便您有另一次机会来修复它们。
sudo vi
这样可以防止用户稍后发现错误,并且由于太晚发现容易被忽略的拼写错误而无法在以后的命令中纠正这些错误。
我通常sudo vi
自己使用,但一定要有一个逃生路线以允许更正(例如,另一个连接登录到 root 活动状态,以防我在自己验证时出错等)。
您是否启用了 root 权限?如果启用了,请使用 root 权限登录并使用 root 权限编辑文件(更正拼写错误)。
如果您有多个具有sudo
权限的用户,您可能会发现较早的sudo
特权用户(如文件中所定义)仍然可以使用他们的权限sudo
(从而允许编辑)。这在过去对我来说很有效,所以我假设错误后的文件部分没有被读取(但这可能已经改变了 - 几年前我发现它救了我)