问题现象-Account locked    

前些天服务器的root用户被锁定,导致无法登录服务器,提示:Account locked due to 10 failed logins ,下面是解锁的全过程

多次登录失败用户被锁定及使用Pam_Tally2解锁 _pam_tally工具

解决办法和解决的过程--常规找回密码中增加重置次数。

1、开机时按 e 键进入编辑模式

2、按方向键--向下定位找到 ro 一行,ro 的意思是 read only,将 ro 替换成 rw ,且行首增加 init=/sysroot/bin/sh

3、按 ctrl-x 进行重启进入单用户模式

4、执行 chroot /sysroot/ 其中 chroot 命令用来切换系统,/sysroot/ 目录就是原始系统

# chroot /sysroot/

5、passwd root 修改 root 用户的密码

# passwd root

6、touch /.autorelabel 执行这行命令作用是让 SELinux 生效,如果不执行,密码不会生效。

# touch /.autorelabel

7、查看 root 用户的过期时间,重置以及修改过期时间策略

# pam_tally2 --user=root

# pam_tally2 --user=root --reset

# pam_tally2 --user=root

# chage -l root

# chage -E YYYY-MM-DD root

多次登录失败用户被锁定及使用Pam_Tally2解锁 _pam_tally工具_02

8、按 Ctrl+D,执行 reboot 重启。

   以上是重置密码过程.

pam_tally2工具和配置

        pam_tally2模块用于某些数对系统进行失败的ssh登录尝试后锁定用户帐户。此模块保留已尝试访问的计数和过多的失败尝试。pam_tally2模块有两个部分,一个是pam_tally2.so,另一个是pam_tally2。它是基于PAM模块上,并且可以被用于检查和调节计数器文件。它可以显示用户登录尝试次数,单独设置计数,解锁所有用户计数。

限制用户登录失败次数

      Pam_tally2锁定SSH登录默认情况下,它是由PAM包本身的控制。使用“/etc/pam.d/password-auth”配置文件来配置的登录尝试的访问。打开此文件并以下AUTH配置行举行的“身份验证”部分的开头添加到它。

auth required pam_tally2.so file=/var/log/tallylog deny=3 even_deny_root unlock_time=1200

接下来,添加以下行“账户”部分。account required pam_tally2.so 其中even_deny_root 也适用于root用户。unlock_time = 1200 为帐户将被锁定,直到20分钟 。(如果要永久锁定,直到手动解锁,请删除此参数。)

多次登录失败用户被锁定及使用Pam_Tally2解锁 _pam_tally工具_03

上面截图是自己测试中使用:

auth required pam_tally2.so onerr=fail deny=3 unlock_time=40 even_deny_root root_unlock_time=30

查看失败次数

多次登录失败用户被锁定及使用Pam_Tally2解锁 _pam_tally工具_04



以下是其他文件使用可选配置

ssh远程登录限制

vim /etc/pam.d/sshd
    加入
    auth required pam_tally2.so deny=3 unlock_time=3600 even_deny_root root_unlock_time=3600

tty登录限制

vim /etc/pam.d/login
    加入
    auth required pam_tally2.so deny=3 unlock_time=3600 even_deny_root root_unlock_time=1800




其他参考文件:https://blog.51cto.com/chier11/10927613

三个文件都可以配置

vim /etc/pam.d/login

vim /etc/pam.d/sshd

vim /etc/pam.d/sshd