首页 > 系统相关 >Linux设置用户登录系统连续N次输入错误密码,自动锁定X分钟。

Linux设置用户登录系统连续N次输入错误密码,自动锁定X分钟。

时间:2023-04-24 17:13:56浏览次数:39  
标签:deny 登录 tally 用户 auth 密码 Linux root pam

一、在字符终端下,要实现某一用户连续错误登陆N次后,就锁定该用户X分钟(使用pam_tally2认证模块)
编辑登录认证文件:vim /etc/pam.d/login,在#%PAM-1.0下新加一行

如果限制所有用户,则可以写成如下内容:
    auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=5

如果不限制root用户,则可以写成如下内容:
    auth required pam_tally2.so deny=3 unlock_time=5

参数解释:
    even_deny_root   表示也限制root用户;
    deny             表示设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户;
    unlock_time      表示设定普通用户锁定后,多少时间后解锁,单位是秒;
    root_unlock_time 表示设定root用户锁定后,多少时间后解锁,单位是秒;

备注:
1、此处使用的是pam_tally2模块,如果不支持pam_tally2模块可以使用pam_tally模块。另外不同的pam版本,设置可能有所不同,具体使用方法,可以参照相关模块的使用规则。
2、也可以直接在system-auth文件中直接添加这些命令,修改完成后,凡是调用system-auth文件的服务,都会生效。因为有自动解锁时间,所以,不用担心全部限制后,会出现永远无法登陆的情况。
3、可以使用pam_tally2 -r -u username命令,手动清除某用户失败登录记录次数。

 

二、设置Linux用户连续N次登陆失败时,自动锁定X分钟(pam_tally)
1、如果想在所有登陆方式上,限制所有用户,可以在/etc/pam.d/system-auth中增加2行
    auth required pam_tally.so onerr=fail no_magic_root
    account required pam_tally.so deny=3 no_magic_root even_deny_root_account per_user reset
    deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户;
    no_magic_root 连root用户也在限制范围,不给root特殊权限。
    详细参数的含义,参见more /usr/share/doc/pam-1.1.8/txts/README.pam_tally2
    如果不想限制root用户,可以将even_deny_root_account取消掉。

2、针对不同服务来限制不同登陆方式
    #只在本地文本终端上做限制,可以编辑如下文件,添加的内容和上方一样。
    vim /etc/pam.d/login
    #只在远程telnet、ssh登陆上做限制,可以编辑如下文件,添加的内容和上方也一样。
    vim /etc/pam.d/remote
    vim /etc/pam.d/sshd

3、手动解除锁定:
    #查看某一用户错误登陆次数:
    pam_tally –user username
    #例如,查看work用户的错误登陆次数:
    pam_tally –user work
    #清空某一用户错误登陆次数:
    pam_tally –user username –reset
    #例如,清空 work 用户的错误登陆次数:
    pam_tally –user work –reset
    faillog -r 命令亦可。

4、pam_tally没有自动解锁功能
    因为pam_tally没有自动解锁的功能,所以,在设置限制时,要多加注意,万一全做了限制,而 root用户又被锁定了,就只能够进单用 户模式解锁了。

    当然,也可以添加crontab任务,达到定时自动解锁的功能,但需要注意的是,如果在/etc /pam.d/system-auth 文件中添加了pam_tally的话,当root被锁定后,crontab任务会失效,所以,最好不要在system-auth 文件中添加pam_tally。

标签:deny,登录,tally,用户,auth,密码,Linux,root,pam
From: https://www.cnblogs.com/huazhixu/p/17350132.html

相关文章

  • 达梦数据库使用disql登录, 密码包含特殊字符(@)的处理方法
    一、背景  用户密码是:dm@ABcC123,包含@这个特殊符号。 disql客户端连接数据库的方式是:disqlusername/password@IP:PORT  那么,这个时候,密码也包含@,这个符号,该怎么处理呢? 二、处理方法 1、密码用双引号括起来,"dm@ABcC123"2、对双引号加转义,\"dm@ABcC123\"......
  • SpringSecurity从入门到精通:用户密码加密存储&铺垫只是jwt工具类使用
    用户密码加密存储    铺垫只是jwt工具类使用 ......
  • React、Ant Design 5.0 构建通用后台管理系统 - 登录页面
    目录安装依赖main.tsxsrc/styles/global.cssApp.tsxsrc/pages/user/Login/index.tsxsrc/pages/user/Login/style.module.css安装依赖npminstallantd@ant-design/icons@ant-design/pro-componentsAntDesign组件库@ant-design/pro-components封装一些好用的常用组件库mai......
  • 【Linux】yum安装Java环境,并配置环境变量
    查看系统是否安装过javayumlistinstalled|grepjava如果有旧版本的java,且你自己不需要,可以用如下方法卸载所有的java(后边的*符号是通配符)yum-yremovejava-1.8.0-openjdk*查看java软件包列表yumlistjava*注意​ 这里一定要安装openjdk的开发版本(......
  • Linux
    Linux命令TinyMCE编辑器删除rm 文件 查看内容ls查看目录pwd   .当前目录..上一级目录cd/ 切换到顶点who 更换目录cd文件夹绝对路径一切从根目录的路径开始  /opt/zl/1.txt相对路径  ./opt/zl/1.txtmkdir创建文件夹绝对路径 /opt......
  • python linux服务器上运行
    后台运行python脚本/opt/njzf/bsp/python37/python37/bin/python3.7main.py>result.log2>&1&说明:1.末尾的“&”:表示后台运行程序2.“nohup”:保证程序不被挂起3.“python”:是执行python代码的命令4.“-u”:表示不启用缓存,实时输出打印信息到日志文件(如果不加-u,则会导致......
  • oracle 建立触发器实现登录失败的时候记录日志信息
    问题:用户反映oracle用户最近总是会被锁定,解锁后过一天继续被锁定。解决思路:v$session并不会记录ip信息,建立触发器实现登录失败的时候记录日志信息   CREATEORREPLACETRIGGERlogon_denied_to_alertAFTERservererrorONDATABASEDECLAREmessageVARCHAR2(168)......
  • 对称秘钥密码体系
    密码学原理加密解密公式明文用M(消息Message)或P(明文Plaintext)表示,密文用C(Ciphertext)表示。加密函数E作用于M得到密文C,用数学式子表示为:\(E(M)=C\)相反地,解密函数D作用于C产生M,表示为:\(D(C)=M\)先加密后再解密消息,原始的明文将恢复出来,下面的等式必须成立:\[D(E(M))=M\]注意:......
  • 5.Linux文本处理
    前言我们上节课学了vim文本编辑器,可以以交互的方式去编辑我们的文本,即在vim是打开文本然后通过键盘对其进行插入、删除、替换等,这节课就会大家介绍一下Linux中的文本三剑客,之前在第三课我们已经学习了grep命令,这节课我们就来学习剩下的两个,sed与awk及一些其它命令sed命令上面......
  • 6.Linux用户与组
    前言经过前面几节课的学习,我们应该是慢慢的可以脱离Linux的图形窗口了,这节课带大家认识下Linux中的用户与权限,这节课学完后面我们大部分情况下甚至都不用在虚拟机上去操作我们的Linux了用户与组与权限用户首先我要了解到Linux是多用户多任务的分时操作系统,看到这句话是不是懵......