锁定和删除用户密码之间有什么实际区别?

l0b*_*0b0 5 passwd

对于如何完全删除 root 密码,已接受的答案建议passwd -d root(“删除”密码),并且评论建议改为使用passwd -l root(“锁定”密码)。唯一的区别似乎是锁定的密码可以通过删除开头的“!”来解锁。在它之前。是否还有其他实际考虑因素,特别是与安全性和禁用 root 帐户相关的考虑因素?

ynn*_*ynn 5

根据man 1 passwd

\n
\n

-d, --删除

\n

\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0删除用户的密码(将其设为空)。这是禁用 \n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 帐户密码的快速方法
。它将设置指定帐户为无密码

\n
\n

实际上,当您使用 CUI(而不是终端仿真器)时,您可以看到差异。执行后passwd -d root,即使没有提示输入密码,您也可以以 root 身份登录,因为密码为空。su当您使用命令时会观察到类似的情况(例如,请参阅此注释)。相反,在 后,您无法使用密码[1]passwd -l root以 root 身份登录。

\n

因此,强烈建议不要只删除 root 密码,而锁定 root 密码有很多优点,并且在某些环境(如 Ubuntu)上被选择为默认设置。RootSudo - Ubuntu 社区帮助 Wiki有很多关于此的信息。

\n
\n

[1]:锁定密码并不意味着用户被完全禁用。您仍然可以使用非密码身份验证(例如 SSH 密钥或sudo)登录。man 1 passwd详情请参阅。

\n

  • 再次,“删除”的含糊性令人惊讶。我认为没有密码的人肯定无法登录,至少在 90 年代以来的 \*nix 系统上是这样。 (2认同)