linux 设置在连续输错错误密码n次后,锁定该用户

一、在字符终端下,实现某一用户连续错误登陆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=10

如果不限制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特殊权限。

详细参数的含义,参见 /usr/share/doc/pam-xxxx/txts/README.pam_tally

如果不想限制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。


相关推荐
此生只爱蛋11 分钟前
【Linux】正/反向代理
linux·运维·服务器
qq_54702617918 分钟前
Linux 基础
linux·运维·arm开发
zfj32123 分钟前
sshd除了远程shell外还有哪些功能
linux·ssh·sftp·shell
废春啊30 分钟前
前端工程化
运维·服务器·前端
我只会发热33 分钟前
Ubuntu 20.04.6 根目录扩容(图文详解)
linux·运维·ubuntu
爱潜水的小L1 小时前
自学嵌入式day34,ipc进程间通信
linux·运维·服务器
保持低旋律节奏1 小时前
linux——进程状态
android·linux·php
zhuzewennamoamtf1 小时前
Linux I2C设备驱动
linux·运维·服务器
zhixingheyi_tian1 小时前
Linux 之 memory 碎片
linux
邂逅星河浪漫1 小时前
【域名解析+反向代理】配置与实现(步骤)-SwitchHosts-Nginx
linux·nginx·反向代理·域名解析·switchhosts