现代发行版中禁用空白 root 密码?

现代发行版中禁用空白 root 密码?

读完这篇文章后:https://stackoverflow.com/questions/11700690/how-do-i-completely-remove-root-password我的印象是空白 root 密码,就像修改/etc/影子文件的根条目如下所示:

root::0:0:99999:7:::

应该允许我su到root而不提示输入密码。

请注意,我并不是在寻找实用或安全的方法来执行此操作。我知道公钥身份验证是通过authorized_keys 和 SSH 以合理的方式执行此操作的可行方法。这不是这个问题所关心的。

预期的行为是,不提示输入密码或至少在提示时接受空白密码(输入密钥,仅此而已)应允许用户成为 root。

实际行为是用户确实会被提示输入密码,并且不接受空白密码(输入键)。我也尝试了su -,,su rootsu - root同样的行为。为了确定我确实更改了影子文件,我还尝试了我的旧密码,但这也不起作用,尽管只需 cat 影子文件就足以确认确实进行了此更改。从我的 shadow.bak 恢复原始影子文件可恢复原始功能。

这是在 Debian 9 系统上,su 来自 util-linux 2.32.1。

我的语法不正确吗?是否应该root::0:0:99999:7:::或者不再能够使用空白密码?从什么时候开始被删除的?

答案1

因为su通常是通过配置pam_unix,它通常配置为nullok_secureDebian 系统上的指令:

$ grep -m1 pam_unix /etc/pam.d/system-auth
验证足够 pam_unix.so nullok_secure

将该默认值更改为 justnullok应该可以启用无密码su使用。

相关内容