当前位置: 首页 > 编程笔记 >

Centos7下用户登录失败N次后锁定用户禁止登陆的方法

范瀚昂
2023-03-14
本文向大家介绍Centos7下用户登录失败N次后锁定用户禁止登陆的方法,包括了Centos7下用户登录失败N次后锁定用户禁止登陆的方法的使用技巧和注意事项,需要的朋友参考一下

前言

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

PAM的配置文件介绍

PAM配置文件有两种写法:

一种是写在/etc/pam.conf文件中,但centos6之后的系统中,这个文件就没有了。

另一种写法是,将PAM配置文件放到/etc/pam.d/目录下,其规则内容都是不包含 service 部分的,即不包含服务名称,而/etc/pam.d 目录下文件的名字就是服务名称。如: vsftpd,login等.,只是少了最左边的服务名列.如:/etc/pam.d/sshd

由上图可以将配置文件分为四列,

  • 第一列代表模块类型
  • 第二列代表控制标记
  • 第三列代表模块路径
  • 第四列代表模块参数

1、限制用户远程登录

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

# vim /etc/pam.d/sshd
#%PAM-1.0
auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=10

各参数解释

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

此处使用的是 pam_tally2 模块,如果不支持 pam_tally2 可以使用 pam_tally 模块。另外,不同的pam版本,设置可能有所不同,具体使用方法,可以参照相关模块的使用规则。

2、限制用户从tty登录

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

# vim /etc/pam.d/login
#%PAM-1.0
auth required pam_tally2.so deny=3 lock_time=300 even_deny_root root_unlock_time=10

同样是增加在第2行!

3、查看用户登录失败次数

#cd /etc/pam.d/
[root@node100 pam.d]# pam_tally2 --user root
Login Failures Latest failure From
root 7 07/16/12 15:18:22 tty1

4、解锁指定用户

[root@node100 pam.d]# pam_tally2 -r -u root
Login Failures Latest failure From

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对小牛知识库的支持。

 类似资料:
  • 本文向大家介绍linux尝试登录失败后锁定用户账户的两种方法,包括了linux尝试登录失败后锁定用户账户的两种方法的使用技巧和注意事项,需要的朋友参考一下 本文主要给大家介绍了关于linux尝试登录失败后锁定用户账户的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍吧。 pam_tally2模块(方法一) 用于对系统进行失败的ssh登录尝试后锁定用户帐户。此模块保留已尝试访问的计数和过多

  • 问题内容: 我无法摆脱这个错误。我已经通过SSMS添加了“ NT AUTHORITY \ NETWORK”用户以及使用此线程作为参考的相关角色:用户“ NT AUTHORITY \ NETWORKSERVICE”的登录失败 我试图通过Windows服务建立数据库连接。在调试模式下,数据库连接可以正常工作。当我实际尝试运行已安装的服务时,便会出现此错误。 这是我来自app.config的连接字符串:

  • null 服务器类型:数据库引擎 服务器名称:Desktop-6u7r1ac\sqlExpress 身份验证:Windows身份验证 用户名:desktop-6u7r1ac\amit 密码: 我得到以下错误- 线程“main”com.microsoft.sqlserver.jdbc.sqlserverexception中出现异常:用户“desktop-6u7r1ac\amit”登录失败。Clien

  • 问题内容: 我试图测试与本地sql DB的连接。我有这个代码: 我尝试了很多用户。我的Windows用户是SOSCOMP,没有密码。我也知道SQL 2008将用户创建为“ sys”“ dbo”,我也尝试过这些。我总是得到: 有任何想法吗? 谢谢 问题答案: 如果尝试连接使用Windows身份验证的数据库,则可以在连接字符串中使用“ integratedSecurity”选项。

  • 一、检查服务器是否填写了DNS,即服务器是否能上网访问www.phpcms.cn。有部分用户是本机通信失败,检查C:\WINDOWS\system32\drivers\etc\hosts文件,如果用的是localhost域名访问,本机是否绑定了127.0.0.1 localhost 二、检查phpsso的访问地址是否正确,然后查看设置->phpsso设置中的应用id、接口地址、加密密钥、版本号和

  • 我正在用Spring、Spring Security和Hibernate制作一个基本的Tic-tac-toe项目。该应用程序可以为数据库中的每个登录用户保存游戏,并允许我们随时加载它。这不是问题,但在涉及多线程时会出现问题。当我在单个浏览器窗口中运行单个应用程序时,一切都很好。但当我打开另一个窗口时,两个玩家正在玩同一个游戏。 我知道这可能是由Spring创建的bean单例引起的,但我确信不是。为