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

摘要:
对于Linux上的用户,如果用户连续三次登录失败,则该用户将被锁定,几分钟后该用户将自动解锁。Linux有一个pam_ tally2.so的pam模块用于限制用户登录失败的次数。如果数字达到设置的阈值,用户将被锁定。#%PAM-1.0authrequiredpam_tally2.sondeny=3unlock_time=600even_deny_rootroot_nunlock_time=1200//密码被锁定三次,但出现错误。平均用户被锁定600秒,即使是根用户也有效。根锁定时间为1200秒authrequiredpam_sepermit。soauthsubstackpassword authauthincludepostlogin#与polkit一起使用以授权远程会话中的用户-authoptionalpam_重新授权。每个国家的女部门都需要一个新的职位。soaccountincludepasswordauthpasswordincludepassword auth#pam_selinux。soclose必须满足第一个会话规则会话的要求。soclosesession需要pam_登录ID。所以#pam_ selinux。因此,只有在用户上下文会话要求的pam_ selinux中才能执行会话。soopenenv参数需要pam命名空间。sossionoptionapam_keyinit。强制撤销会话包括密码授权会话包括密码登录#与polkit一起使用以授权远程会话中的用户-会话选项am_重新授权.sopparte2、vim/etc/pam。D/login(终端)限制用户终端在#%PAM-1.0以下登录,这是第二行。添加的内容也必须写在前面。你可以想象恢复的难度…在下面记录恢复过程。。。

  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用户错误登陆次数

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

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

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

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

   pam_tally2 –u tom --reset


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

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

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

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

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

   进入系统安全模式

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

  #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

  总算恢复了。

免责声明:文章转载自《Linux使用PAM锁定多次登陆失败的用户(重置次数)原理后续补充----》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Jprofile解析dump文件使用详解Ubuntu下添加开机启动项的2种方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【jsp】jsp中的动作元素

一,动作元素(Action):预定义的java代码。目的在于代码的可重用性。  1,为请求阶段提供信息,允许在页面之间转移控制权。  2,JSP2.0规范定义了标准动作,标准动作是一些标签,影响JSP运行时的行为和对客户请求的响应。在页面被转换为Servlet时,JSP容器遇到这些标签,就使用预先定义的对应于该标签的java代码来代替它。  3,动作元素语...

JAVA框架-Mybatis中(代理、动态SQL和高级映射)

Mapper代理 在上一个博客中,我们直接利用session和<select>标签来执行sql的方式存在一些问题。 session执行sql时都需要提供要执行sql的id,而这个id是字符串类型,意味着id是否正确在编译期间是无法获知的,必须等到运行时才能发现错误, sql需要的参数和返回值类都不明确,这也增加了出错的概率 我们最理想的方式...

再谈容器与虚拟机的那点事

容器技术起源于虚拟化技术的发展,欣欣向荣的 Docker 着实是容器技术潮流中的一朵十分耀眼的浪花。在 Docker 诞生之初,它常常被放在虚拟机技术的对立面,甚至还有过 Docker 将替代虚拟机的夸大宣传,在许多集群以及虚拟化方案设计的讨论中,也总会将两者拿来比较一番利弊。 现如今 Docker 已经比较普及,这些曾经的传言不攻而破。容器以及 Dock...

ftp文件上传下载命令

介绍:从本地以用户wasqry登录的机器1*.1**.21.67上通过ftp远程登录到ftp服务器上,登录用户名是lte****,以下为使用该连接做的实验。  查看远程ftp服务器上用户lte****相应目录下的文件所使用的命令为:ls,登录到ftp后在ftp命令提示符下查看本地机器用户wasqry相应目录下文件的命令是:!ls。查询ftp命令可在提示符下...

linux 非root 用户安装redis 安装

1,在Linux环境上下载gcc,通过源码安装得通过cc编译器进行安装。这时候得下载gcc。这时候使用root用户进行安装。    yum -y install  gcc 2,接着编译需要使用jemalloc。得下载jemalloc 编译。使用yum安装得添加一下仓库源。改完仓库源,这时候就可以使用  yum install  jemalloc 下面这种方...

linux安装mysql8.0.25

一、安装 准备工作 官网下载链接:https://dev.mysql.com/downloads/mysql/ cd /usr/local # 创建mysql目录 mkdir mysql # 进入目录 cd mysql 将下载之后的包(mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz) 上传到/usr/local/m...