可通过PAM模块、nologin、limits.conf等方法限制Linux账户登录。1. 编辑time.conf并启用pam_time.so实现时段控制;2. 使用usermod -s /sbin/nologin或passwd -l禁止用户登录;3. 配置limits.conf与pam_limits.so限制并发会话数;4. 通过pam_tally2.so设置登录失败锁定策略,增强安全防护。

在Linux中设置账户登录限制可以通过多种方式实现,主要目的是增强系统安全性,防止未授权访问或暴力破解。常见的方法包括限制用户登录时间、控制同时登录的会话数量、禁止特定用户登录以及通过PAM模块进行细粒度管理。
可以使用 login.defs 和 faillog 配合,但更常用的是通过PAM模块结合 time.conf 来控制用户在特定时间段内是否能登录。
- 编辑 /etc/security/time.conf 文件 - 添加规则限制用户在指定时间段外无法登录,例如: sshd;*;username;!Al0800-1800 表示用户 username 只能在早上8点到下午6点通过SSH登录 - 确保 /etc/pam.d/sshd 或 /etc/pam.d/login 中包含:如果需要临时或永久禁止某个用户登录,有几种简单有效的方法:
- 使用 nologin:修改用户shell为 /sbin/nologin 或 /usr/sbin/nologin 执行命令:usermod -s /sbin/nologin username - 锁定用户账户:passwd -l username(会锁定密码,无法通过密码登录) - 解锁账户使用:passwd -u username可以通过PAM的 pam_limits.so 模块来控制每个用户能打开的登录会话数量。
- 编辑 /etc/security/limits.conf - 添加如下内容限制用户最多2个并发TTY或SSH会话: username hard maxsyslogins 2 - 同时确保 /etc/pam.d/sshd 和 /etc/pam.d/login 包含:为了防止暴力破解,可配置PAM以限制登录失败次数。
- 安装并配置 pam_tally2 或 pam_faillock 模块 - 在 /etc/pam.d/common-auth(Debian系)或 /etc/pam.d/system-auth(RHEL系)中添加: auth required pam_tally2.so deny=5 unlock_time=900 表示连续失败5次后锁定账户15分钟 - 查看失败次数:pam_tally2 --user=username - 手动解锁:pam_tally2 --user=username --reset基本上就这些。合理组合上述方法,可以有效控制用户登录行为,提升系统安全。关键是根据实际需求选择合适的限制策略,并测试确认不影响正常运维。
以上就是如何在Linux中设置账户登录限制?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号