修改/etc/shadow后恢复su密码

S7_*_*7_0 3 linux login root su system-recovery

我遵循关于竞争条件漏洞的教程

我复制了我的 /etc/shadow 文件。然后用一行替换所有包含

root::1:99999:::::
Run Code Online (Sandbox Code Playgroud)

然而。当我尝试使用命令 su 时,我的旧密码不再起作用。:/

我保留了旧的影子文件,但尝试恢复它。但是我不能,因为我不是 su 并且不能再成为 su 了。

有谁知道是否可以仅通过我上面提供的那一行推断出新的 su 密码?

我目前使用的是 Linux Mint 18。

Gil*_*il' 7

root::…是一个空的密码哈希。根据您的系统的配置方式(nullok出现在auth … pam_unix.soin 中的行/etc/pam.conf/etc/pam.d? 中的适用文件),您要么不会收到密码提示,要么不会接受任何密码。

由于su不允许您进入,它可能没有配置nullok. 这是意料之中的:允许 root 没有密码登录是非常不寻常的,因此它不是默认配置。

如果sulogin配置为nullok_securethen 这允许您在没有密码的情况下登录,但只能在文本控制台上登录。因此,尝试切换到文本控制台(Ctrl+ Alt+F1在普通账号和运行下),以root身份登录,或记录su

如果您已经sudo设置,那么它不关心 root 密码,您仍然可以使用它。

如果您无法通过这种方式进入 root 帐户,则必须以单用户模式或 rescure shell 模式重新启动。请参阅这两种重置 root 密码的方法有什么区别?如何重置忘记超级用户口令了Fedora 19 GRUB我们怎样才能改变根密码?, ...

将来,如果您执行任何可能影响登录的操作,请保持 root shell 打开!