Linux centos 7,重启登录输入正确密码依然无法登录
输入正确密码提示module is unknow,错误密码就显示无效
这种情况一般都是pam安全认证误设置,或相关模块损坏引起的,具体哪个,查日志文件就可查到,怎么弄下面贴出来了
开机grub界面下,按上、下键(取消倒计时)
选中Linux正常系统,按e键,进入代码编辑界面
编辑linux16行将 ro 修改为 rw init=/sysroot/bin/sh
临时更改启动代码,开机不挂载磁盘,直接进入shell:sh
ctrl+x组合键,执行操作
chroot /sysroot #切换根目录
如果可以远程登录,直接远程登录从这一步开始
vi /var/log/secure 查看日志文件
按CTRL+G,跳到文件尾部,找到相关错误信息:
Jan 18 12:10:17 sguap0010 login: PAM adding faulty module: /lib/security/pam_limits.so
Jan 18 12:10:20 sguap0010 login: pam_unix(login:session): session opened for user root by LOGIN (uid=0)
Jan 18 12:10:21 sguap0010 login: Module is unknown
vi /etc/pam.d/login 去掉出错的问题模块
注释掉有问题的模块:
#session required /lib/security/pam_limits.so
或者
#session include system-auth
exit --- 退出bash,回到sh
reboot --- 重启
进入系统之后,下载pam_limits.so模块文件
覆盖掉/lib/security/pam_limits.so
(64位操作系统,覆盖/lib64/security/pam_limits.so)
然后vi /etc/pam.d/login
把刚刚注释掉的东西取消注释
session required /lib/security/pam_limits.so
或者
session include system-auth
结束之后就完美了