设置密码最小修改间隔(mindays)是系统强制执行的锁定期,用于防止用户短时间反复改密绕过策略;通过chage -m命令对单个用户设置,或修改/etc/login.defs中pass_min_days为新用户设默认值,需配合密码历史记录等机制才有效。

设置密码最小修改间隔(MinDays)是为了防止用户在短时间内反复更改密码,从而绕过密码历史记录检查或弱化策略效力。这个值不是“建议”,而是系统强制执行的锁定期。
对单个用户设置 MinDays
使用 chage -m 命令直接指定最小天数:
- sudo chage -m 7 username:该用户两次改密至少间隔 7 天
- sudo chage -m 0 username:允许随时修改(即禁用限制)
- 执行后立即生效,无需重启服务,信息写入 /etc/shadow 第四字段
为所有新用户统一设默认 MinDays
编辑 /etc/login.defs,确保以下行存在且未被注释:
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
- PASS_MIN_DAYS 7:新建用户自动继承 7 天最小间隔
- 注意:该设置只影响后续创建的用户,对已有用户无效
- 若需同步 root 用户,额外运行:sudo chage --mindays 7 root
验证是否生效
查看用户当前策略,确认 MinDays 已写入:
- sudo chage -l username → 检查 “Minimum number of days between password change”
- sudo passwd -S username → 输出第 4 字段即为 MinDays 值
- sudo grep username /etc/shadow → 第 4 个冒号分隔字段(如 oracle:$6$...:18653:7:90:7::: 中的 7)
注意事项与常见误区
MinDays 是防御性策略,但需配合其他机制才真正有效:
- 仅设 MinDays 不够——必须同时启用密码历史记录(pam_pwhistory.so),否则用户可改完再立刻改回旧密码
- Web 应用或 SSH 密钥登录若不经过 PAM 认证链,此设置将被绕过
- 批量设置现有用户时,避开系统账号(UID getent passwd | awk -F: '$3 >= 1000 {print $1}' | xargs -I{} sudo chage -m 7 {}










