ulimit 命令主要用于限制单个用户或进程的资源使用,例如文件描述符数量、CPU 时间、内存使用等。它并不能直接限制用户登录。
要限制用户登录,您可以使用以下方法:
编辑 /etc/pam.d/system-auth 或 /etc/pam.d/password-auth 文件,添加以下行:
auth required pam_tally2.so onerr=fail deny=5 unlock_time=900
这将限制用户在900秒内尝试登录失败5次。超过限制后,用户将被锁定900秒。
fail2ban:安装 fail2ban:
sudo yum install fail2ban
创建一个新的配置文件 /etc/fail2ban/jail.local,并添加以下内容:
[DEFAULT]
bantime = 900
findtime = 600
maxretry = 5
[sshd]
enabled = true
port = sshd
filter = sshd
logpath = /var/log/secure
这将限制用户在900秒内尝试登录失败5次。超过限制后,用户将被锁定900秒。
重启 fail2ban 服务以应用更改:
sudo systemctl restart fail2ban
请注意,这些方法仅限制尝试登录失败的次数。如果用户已经成功登录,您需要使用其他方法(如 pkill 命令)来终止他们的会话。