读完这篇文章后: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 root
。su - 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
使用。