Linux使用PAM锁定多次登陆失败的用户(重置次数)原理后续补充----

  linux上的用户,如果用户连续3次登录失败,就锁定该用户,几分钟后该用户再自动解锁。Linux有一个pam_tally2.so的PAM模块,来限定用户的登录失败次数,如果次数达到设置的阈值,则锁定用户。


1、 vim /etc/pam.d/sshd    (远程ssh)

  限制用户远程登录

  在#%PAM-1.0的下面,即第二行,添加内容,一定要写在前面,如果写在后面,虽然用户被锁定,但是只要用户输入正确的密码,仍旧可以登录。

  

#%PAM-1.0
auth    required    pam_tally2.so    deny=3    unlock_time=600 even_deny_root root_unlock_time=1200   // 三次错误密码锁定,普通用户锁定600秒,even_deny_root,对root用户生效,root锁定时间1200秒
auth       required     pam_sepermit.so
auth       substack     password-auth
auth       include      postlogin
# Used with polkit to reauthorize users in remote sessions
-auth      optional     pam_reauthorize.so prepare
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      password-auth
session    include      postlogin
# Used with polkit to reauthorize users in remote sessions
-session   optional     pam_reauthorize.so prepare

2、 vim /etc/pam.d/login(终端)

        限制用户终端登陆

  在#%PAM-1.0的下面,即第二行,添加内容,同样是一定要写在前面。

#%PAM-1.0
auth    required    pam_tally2.so    deny=3    unlock_time=600 even_deny_root root_unlock_time=1200   
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth       substack     system-auth
auth       include      postlogin
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
session    optional     pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      system-auth
session    include      postlogin
-session   optional     pam_ck_connector.so

  

3、 解除锁定

  查看某一用户错误登陆次数:
  pam_tally –-user

  清空某一用户错误登陆次数:
  pam_tally –-user –-reset

  比如查看pamtest用户错误登陆次数

  

  比如清空pamtest用户的错误登陆次数

  

   如果前面的命令没有清楚成功,可以试下下面这个命令

   pam_tally2 –u tom --reset


4、2020-09-04,本来是平常的一天,可是今天我一台机器的root密码忘了,而且这台机器还做了上述的安全认证。。。恢复难度可想而知。。。下面记录下恢复过程。。。

  第1步:开机后在内核上按“e”

  

    这时会进入内核启动,在linux16这行的后面输入“rd.break console=tty0”  然后按“ctrl+x "

   

   进入系统安全模式

  

  #mount –o remount,rw /sysroot

  #chroot /sysroot

  #passwd  密码这个时候设置复杂些

  #touch /.autorelabel

  #exit

  #exit

  以上操作完成之后,root用户密码已经修改,正常情况下已经可以登陆了,可是我设置了用户锁定策略。

  #vim /etc/pam.d/sshd

  删除第二行

  #vim /etc/pam.d/login

  删除第二行

  #exit

  #exit

  总算恢复了。

付出是用来忘记的,回报时悄然而至的。不要让梦想,只是梦想!!!
原文地址:https://www.cnblogs.com/SliverLee/p/13529477.html