ulimit命令怎样设置用户登录次数限制
很多人都问过这样一个问题:能不能用 ulimit 命令直接限制用户登录次数?答案很简单——不行。ulimit 只负责管 shell 进程的资源,比如文件描述符上限、子进程数量这些。它跟“用户能登录几次”压根儿不在一个频道上。 不过,问题本身倒是很实际:系统里如果某个用户反复登录失败,总得有个机制防着
很多人都问过这样一个问题:能不能用 ulimit 命令直接限制用户登录次数?答案很简单——不行。ulimit 只负责管 shell 进程的资源,比如文件描述符上限、子进程数量这些。它跟“用户能登录几次”压根儿不在一个频道上。
不过,问题本身倒是很实际:系统里如果某个用户反复登录失败,总得有个机制防着点,对吧?好在 Linux 有现成的工具——PAM(Pluggable Authentication Modules)就能干这个活。下面具体说说怎么做。

通过 PAM 限制用户登录失败次数
整个过程分几步走,每步都不复杂。
-
确认 PAM 模块已安装
如果你的系统是 Debian 系的(比如 Ubuntu):sudo apt-get install libpam-modules如果是 RHEL 系的(比如 CentOS):
sudo yum install pam通常这些模块默认就装好了,跑一下命令确认即可。
-
编辑认证配置文件
打开/etc/pam.d/common-auth这个文件(注意路径,不同发行版可能略有差异,但基本都在/etc/pam.d/下):sudo nano /etc/pam.d/common-auth -
插入一行核心配置
在文件顶部添加下面这行:auth required pam_tally2.so onerr=fail deny=3 unlock_time=900解释一下参数:
deny=3意味着连续输错 3 次密码就锁定;unlock_time=900表示锁定后需要等 900 秒(也就是 15 分钟)才能自动解锁。这两个数字你可以按需改,比如想更严格就设deny=2,想更宽松就设unlock_time=1800。 -
保存并退出
文件保存后,配置即刻生效,不需要重启服务。从下次登录开始,规则就会起作用。
效果与细节
配置完成以后,如果某个用户在短时间内连续输错密码达到 3 次,他的账户就会被临时锁定。在锁定期间,任何登录尝试都会被拒绝。等到 900 秒(或你设定的时间)结束后,账户自动恢复。如果你想手动提前解锁,可以编辑 /var/log/pam_tally2/pam_tally2.log 文件,把对应用户的记录删掉就行。
有一点必须提醒:这个方法只对本地登录(比如直接坐在机器前输入密码)有效。如果你需要限制 SSH 远程登录,那得另想办法——比如用 Fail2ban 这类工具来监控日志并触发规则。毕竟远程登录失败后的暴力破解压力往往更大,光靠 PAM 可能不够用。
话说回来,PAM 这个方案足够轻量、配置简单,对于大多数日常场景已经能解决问题了。如果你在生产环境里要对多台机器统一管理,那可以考虑用 Ansible 之类的工具批量下发配置,省得一台台手改。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















