Centos7.9桌面版root用户密码正确,却无法登录问题排查

Centos7.9桌面版root用户密码正确,却无法登录问题排查

前提:安装centos7.9桌面版,前几天能够正常登录,但今天却无法正常登录,密码是正确的,但是却提示Sorry, that didn’t work.Please try again.

1.问题分析

网上有很多关于Linux桌面版在登录root用户时,输入正确的密码,却无法正常登录。网上提及的原因一般有如下三种:

1.1密码真的忘记了

1.2密码有大写字母

Linux系统切换为大写的按键是Shift+字母按键,不能按Caps Lock按键来固定大写输入。

1.3root用户密码过期

[root@E0-9D-31-A3-0B-10 xcy]# chage -l root
最近一次密码修改时间                                    :11月 17, 2023
密码过期时间                                    :从不
密码失效时间                                    :从不
帐户过期时间                                            :从不
两次改变密码之间相距的最小天数          :0
两次改变密码之间相距的最大天数          :99999
在密码过期之前警告的天数        :7

可以使用chage -l root查看root用户是否设置密码过期时间过小

1.4其他未知原因

2.解决方案

2.1单用户模式登录并修改root用户密码

2.1.1重启机器
2.1.2重启时按e按键
2.1.3在Linux16这一行,把ro修改为rw,在在UTF-8后添加 init=/bin/shUTF-8 后面要加空格再加init=/bin/sh
2.1.4添加完成后按电脑ctrl+x

操作完就到了单用户模式

2.1.5使用passwd root修改root用户密码
sh.4# passwd root
2.1.6输入touch / .aoturelabel重新写入安全上下文
sh.4# touch / .aoturelabel
2.1.7输入exit 退出单例模式,输入 reboot重启

再次登录即可成功

3.排查过程

3.1使用普通用户切换root(失败)

发现无法从普通用户登录,然后再切root。

3.2修改PAM模块(失败)

(ssh登录)
# vim /etc/pam.d/gdm-autologin
注释行 "auth requied pam_succeed_if.so user != root quiet success"
# vim /etc/pam.d/gdm-password
注释行 "auth requied pam_succeed_if.so user != root quiet success"

解释:

auth required pam_succeed_if.so user != root quiet_success 是一个 PAM 模块规则,它的作用是仅当用户不是 root 用户时才允许认证成功,并且在认证成功时不显示任何提示信息。

具体来说,这个规则会检查当前正在进行认证的用户是否为 root 用户。如果不是,那么它将认证继续传递给后面的模块;否则,它将直接认证成功并结束整个认证过程。此外,可以使用 quiet_success 选项来指定在认证成功时不显示任何提示信息。

这个规则通常被用于限制某些操作只能由非特权用户执行。例如,你可以将其添加到 /etc/pam.d/sudo 文件中,以便只有非特权用户才能使用 sudo 命令。

3.3单用户模式修改root密码(成功)

看上面的解决方案2.1

4.问题原因

未知,可能是桌面版的BUG

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值