chage命令用于管理linux用户密码过期策略,通过设置密码生命周期参数提升系统安全性;2. 使用chage -l查看用户密码策略,如最后修改时间、过期时间等;3. 通过chage -m设置密码最长使用天数(如90天),-m设置最短使用天数(如7天),-w设置到期前提醒天数(如7天),-i设置过期后宽限期(如14天),-e设置账户整体过期日期(如2025-12-31),-d重置密码最后修改日期;4. 批量配置新用户默认策略需修改/etc/login.defs中的pass_max_days、pass_min_days和pass_warn_age参数;5. 推荐安全策略为:-m 7 -m 90 -w 7 -i 14,临时用户额外设置-e指定账户失效时间;6. 可编写脚本结合chage -l或passwd -s定期检查即将过期的账户,实现自动化维护;综上,合理使用chage命令结合系统配置可有效管理用户密码生命周期,平衡安全与可用性。

在 Linux 系统中,
chage
chage
chage
/etc/shadow
常用选项包括:
-l
-d
-E
-m
-m
-W
-I
chage -l username
例如查看用户
alice
chage -l alice
输出示例:
Last password change : Feb 10, 2025 Password expires : May 11, 2025 Password inactive : never Account expires : never Minimum number of days between password change : 7 Maximum number of days between password change : 90 Number of days of warning before password expires : 7
限制用户每 90 天必须修改一次密码:
chage -M 90 username
防止用户频繁修改密码“绕过”策略,例如至少 7 天才能改一次:
chage -m 7 username
提前 7 天提醒用户密码即将过期:
chage -W 7 username
密码过期后,允许用户在登录时立即修改密码的“宽限期”。若超过该期限未改,则账户被禁用:
chage -I 14 username
表示密码过期后 14 天内仍可登录并强制改密,超过 14 天账户将被锁定。
无论密码状态如何,账户在指定日期后无法登录:
chage -E 2025-12-31 username
也可用天数(自1970年1月1日起):
chage -E 19720 alice # 例如:2024-01-01
例如将某用户密码“最后修改时间”设为今天,用于启动密码有效期计算:
chage -d $(date +%Y-%m-%d) username
修改系统默认值,可通过编辑
/etc/login.defs
sudo vim /etc/login.defs
关键参数:
PASS_MAX_DAYS 90 PASS_MIN_DAYS 7 PASS_WARN_AGE 7
这些设置会影响后续使用
useradd
注意:已有用户不会自动应用这些设置,需手动用 chage 修改。
对于普通用户,建议配置如下:
命令示例:
chage -m 7 -M 90 -W 7 -I 14 username
对于临时用户(如外包人员),可设置账户过期:
chage -E 2025-06-30 tempuser
可编写脚本定期检查即将过期的账户:
#!/bin/bash
for user in $(awk -F: '$7=="" || $7>"100000" {print $1}' /etc/shadow); do
chage -l $user | grep "Password expires"
done或使用
passwd -S
基本上就这些。
chage
/etc/login.defs
以上就是如何设置用户密码策略 chage过期时间管理的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号