/etc/login.defs 是linux用户账户生命周期管理的“默认规则总开关”,仅影响新用户,为useradd、passwd等命令提供初始策略;关键参数包括pass_max_days 90、pass_min_days 7、pass_warn_age 14、pass_min_len 10、uid_min 1000、gid_min 1000、create_home yes、encrypt_method sha512、umask 077等。

/etc/login.defs 是 Linux 用户账户生命周期管理的“默认规则总开关”,它不直接执行策略,而是为 useradd、passwd、login 等命令提供新建用户的初始行为依据。配置它,核心是选对参数、设合理值,并清楚知道——只影响新创建用户,已有用户不受影响。
密码有效期与提醒策略
这是最常用也最关键的配置块,直接决定新用户密码是否会被强制更新:
-
PASS_MAX_DAYS 90:新用户密码最多使用 90 天,到期后必须修改;避免设为99999或-1(等同永不过期),生产环境应严格限制 -
PASS_MIN_DAYS 7:两次改密至少间隔 7 天,防止用户快速轮换绕过密码历史检查 -
PASS_WARN_AGE 14:登录时提前 14 天提示 “Your password will expire in X days” -
PASS_MIN_LEN 10:设为 10 是合理兜底值,但注意——它仅作参考,不强制生效;真正校验靠 PAM 模块(如pam_pwquality.so)
UID/GID 分配与账号隔离
避免普通用户与系统服务账户 ID 冲突,降低提权风险:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
-
UID_MIN 1000和UID_MAX 60000:确保useradd新建用户从 1000 起分配,避开 1–999 的系统账号范围 -
GID_MIN 1000和GID_MAX 60000:同理约束组 ID 自动分配范围 -
USERGROUPS_ENAB yes:启用后,每个新用户自动创建同名私有主组(如用户alice→ 组alice),便于后续权限精细化控制
家目录、加密方式与基础权限
关系到新用户能否正常登录、凭证是否安全存储:
-
CREATE_HOME yes:默认为新用户创建/home/username;设为no可能导致登录失败(shell 启动时找不到 home) -
ENCRYPT_METHOD SHA512:强制用 SHA-512 加密 shadow 中的密码,比旧版 DES/MD5 强得多;需与 PAM 中pam_unix.so或pam_pwquality.so配置一致 -
UMASK 077:新用户家目录默认权限为drwx------(即仅属主可读写执行),禁止其他用户访问
登录行为与失败防护基础
这些参数配合 PAM 模块,构成第一道访问控制防线:
-
LOGIN_RETRIES 3:login程序允许最多 3 次失败尝试(真锁定需搭配pam_faillock.so或pam_tally2.so) -
LOGIN_TIMEOUT 30:未完成认证的登录会话空闲超时 30 秒,减少残留连接 -
FAIL_DELAY 5:每次认证失败后延迟 5 秒响应,有效拖慢暴力破解节奏 -
MAIL_DIR /var/spool/mail:指定新用户邮箱路径,若同时启用CREATE_MAIL_SPOOL yes,则自动创建对应邮箱文件
不复杂但容易忽略










