如何在Linux中设置账户登录限制?

可通过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中设置账户登录限制?

在Linux中设置账户登录限制可以通过多种方式实现,主要目的是增强系统安全性,防止未授权访问或暴力破解。常见的方法包括限制用户登录时间、控制同时登录的会话数量、禁止特定用户登录以及通过PAM模块进行细粒度管理。

限制用户登录时间

可以使用 login.defsfaillog 配合,但更常用的是通过PAM模块结合 time.conf 来控制用户在特定时间段内是否能登录。

– 编辑 /etc/security/time.conf 文件 – 添加规则限制用户在指定时间段外无法登录,例如: sshd;*;username;!Al0800-1800 表示用户 username 只能在早上8点到下午6点通过SSH登录 – 确保 /etc/pam.d/sshd 或 /etc/pam.d/login 中包含:
account required pam_time.so

禁止用户登录系统

如果需要临时或永久禁止某个用户登录,有几种简单有效的方法:

如何在Linux中设置账户登录限制?

如知AI笔记

如知笔记——支持markdown的在线笔记,支持ai智能写作、AI搜索,支持DeepseekR1满血大模型

如何在Linux中设置账户登录限制?27

查看详情 如何在Linux中设置账户登录限制?

– 使用 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 包含:
session required pam_limits.so

使用PAM模块进行登录失败处理

为了防止暴力破解,可配置PAM以限制登录失败次数。

– 安装并配置 pam_tally2pam_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

基本上就这些。合理组合上述方法,可以有效控制用户登录行为,提升系统安全。关键是根据实际需求选择合适的限制策略,并测试确认不影响正常运维。

上一篇
下一篇
text=ZqhQzanResources