根据 Ubuntu 在线文档,管理 root 帐户最初默认被禁用,方法是给它一个与任何可能的加密值都不匹配的密码。
我错误地为我的 root 帐户设置了密码,并想将其恢复为禁用状态。我使用了以下命令:
sudo usermod -e 1 root
这是做我想做的事的正确方法吗?
(请注意,我不只是想锁定根帐户,如果我没记错的话,应该是:)sudo passwd -l root
。
答案1
从技术上讲不是。您所做的就是将帐户标记为已过期,但其密码仍然相同。 passwd -l
通过在密码哈希前添加感叹号(如果我没记错的话)来修改密码哈希。这可以防止任何密码与哈希匹配,但可以轻松删除感叹号以解锁帐户并恢复其以前的密码。
任何一种方法都可以阻止任何人以 root 身份登录,因此实际上来说,这样做很好。
答案2
我还在 Ubuntu 16.04 手册的 passwd 命令选项下找到了一些其他详细信息:
-l,--lock。锁定指定帐户的密码。此选项通过将密码更改为与任何可能的加密值都不匹配的值来禁用密码(它在密码开头添加“!”)。
请注意,这不会禁用帐户。用户可能仍可以使用其他身份验证令牌(例如 SSH 密钥)登录。要禁用帐户,管理员应使用:usermod --expiredate 1。(这会将帐户的到期日期设置为 1970 年 1 月 2 日)。