1.现象
考虑安全因素,想设置“限制登录失败次数并锁定”,便在网上找了教程,结果找到是centos7的设置方式,centos8和centos7设置是有差异的,结果导致输入正确的账号和密码无法登录。
2.解决思路
不输入用户名和密码的情况下操作系统文件,把设置错误的配置修正回来。
3.解决步骤
参考网址:Linux centos 7,重启登录输入正确密码依然无法登录-服务器-CSDN问答
第一步:启动虚拟机进入“单用户模式”
参考网址:Centos8 进单用户模式_255.255.255.0-CSDN博客_centos8进入单用户模式
第二步:切换根目录
chroot /sysroot
第三步:查看日志
vi /var/log/secure
问题如下:
看到此错误一脸懵,然后百度也没看懂是啥意思,不过耐着性子继续查找问题,后来发现我配置的文件错了,我是centos8,配置教程是centos7的,然后我按照centos8配置教程配置后,结果ok。
第四步:更改配置安全策略(用户3次登录失败锁定3分钟)
推荐参考网址:CentOS 8.0配置安全策略(用户3次登录失败锁定3分钟) - 知乎
说明:pam_tally2模块在centos8后已淘汰掉,centos8用pam_faillock 模块替换。
修改 /etc/pam.d/system-auth /etc/pam.d/password-auth 文件,在文件中添加以下配置
添加以下命令行到 /etc/pam.d/system-auth 文件和/etc/pam.d/password-auth 文件中的对应区段:auth requiredpam_faillock.so preauth silent audit deny=3 unlock_time=300auth sufficient pam_unix.so nullok try_first_passauth [default=die] pam_faillock.so authfail audit deny=3 unlock_time=300account required pam_faillock.so
注意:
auth required pam_faillock.so preauth silent audit deny=3 必须在最前面。注意上面命令行写在文件的顺序,没配置正确有可能root都无法登录。如果想锁住root用户,在pam_faillock 条目里添加 even_deny_root 选项
第五步:重启
PS:单用户模式下重启命令和标准模式下有点区别,执行命令为:
reboot -f