一个专业运
维技术分享!

Centos 用户登录失败N次后锁定用户禁止登陆

针对linux上的用户,如果用户连续3次登录失败,就锁定该用户,几分钟后该用户再自动解锁

Linux有一个pam_tally2.so的PAM模块,来限定用户的登录失败次数,如果次数达到设置的阈值,则锁定用户。

1、修改配置文件
# vim /etc/pam.d/login

#%PAM-1.0
auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=10 onerr=succeed file=/var/log/tallylog

auth [user_unknown=ignore success=ok ignoreignore=ignore default=bad] pam_securetty.so
auth include system-auth

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 optional pam_keyinit.so force revoke
session required pam_loginuid.so
session include system-auth
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

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

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

3、验证ssh是否加载pam_tally2身份验证模块
ldd /usr/bin/passwd | grep libpam
libpam_misc.so.0 => /lib64/libpam_misc.so.0 (0x00007fb74f748000)
libpam.so.0 => /lib64/libpam.so.0 (0x00007fb74eb45000)
如看到有类似的输出,说明该程序使用了PAM,没有输出,则没有使用。

4、查看root用户登录失败次数
[root@bigdata ~]# pam_tally2 --user root
Login Failures Latest failure From
root 18 12/24/20 13:39:28 10.10.76.22

5、解锁指定用户
[root@bigdata ~]# pam_tally2 -r -u root
Login Failures Latest failure From

6、Linux中普通用户配置sudo权限(带密或免密)
配置步骤如下:

6.1、登陆或切换到root用户下;

6.2、添加sudo文件的写权限,命令是:chmod u+w /etc/sudoers

6.3、编辑sudoers文件:vi /etc/sudoers或者visudo

找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (注:这里的xxx是你的用户名)

你可以根据实际需要在sudoers文件中按照下面四行格式中任意一条进行添加:
youuser ALL=(ALL) ALL
%youuser ALL=(ALL) ALL
youuser ALL=(ALL) NOPASSWD: ALL
%youuser ALL=(ALL) NOPASSWD: ALL

Defaults:bbders timestamp_timeout=-1,runaspw

第一行:允许用户youuser执行sudo命令(需要输入密码)。
第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码)。
第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码。
第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码。
第五行:timestamp_timeout=-1 只需验证一次密码,以后系统自动记忆,runaspw 需要root密码,如果不加默认是要输入普通账户的密码
6.4、撤销sudoers文件写权限,命令:chmod u-w /etc/sudoers



微信扫描下方的二维码阅读本文

赞(2) 打赏
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。小柳实验室 » Centos 用户登录失败N次后锁定用户禁止登陆

相关推荐

  • 暂无文章

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏