首页/系统/Linux 运维命令速查/chage 密码有效期与账号老化

chage 密码有效期与账号老化

chage 配置密码老化策略:最长/最短使用期、到期前警告、过期后宽限与账号禁用日;等保与基线检查的重点项。

Linux 运维命令速查系统更新于 2026-10-13

chage 是什么

chage 配置密码与账号的老化策略:密码最长能用多久、最短多久才能再改、到期前提前几天提醒、过期后还能宽限几天,以及账号本身的到期日。它管理的是账号在时间维度上的行为,也是各类安全基线检查的重点项。

基本信息

适用平台Linux、Unix 通用(shadow-utils)
命令语法chage [选项] 用户名
常用选项-M 最长使用天数 / -m 最短使用天数 / -W 提前警告天数 / -I 过期后宽限天数 / -E 账号到期日 / -d 上次改动日 / -l 查看
查看现状chage -l 用户名 会列出各项当前取值

典型使用场景

  • 新账号交付:要求首次登录必须修改密码
  • 通过基线检查:按规范设置密码有效期与警告天数
  • 临时账号管理:给出明确的账号到期日
  • 审计现状:逐个检查账号的老化策略是否合规
  • 服务账号豁免:避免自动化任务因密码过期而中断

常用示例

常用示例
chage -l deploy                        # 查看当前策略
chage -M 90 -m 7 -W 14 deploy          # 90 天过期、7 天最短、提前 14 天警告
chage -I 7 deploy                      # 密码过期后宽限 7 天
chage -E 2027-01-01 tempuser           # 设定账号到期日
chage -d 0 deploy                      # 要求下次登录必须改密

选项对照

选项含义典型取值
-M密码最长使用天数90
-m两次修改密码的最短间隔0 到 7
-W到期前提前警告天数7 到 14
-I密码过期后的宽限天数0 到 7
-E账号到期日具体日期,留空表示不过期
-d上次修改密码的日期设为 0 表示下次登录必须改密
账号到期与密码到期是两件事:前者到点后账号彻底不能登录,后者是登录之后被迫修改密码。设置之前先想清楚要解决的是哪一种。
给服务账号套用人工账号的过期策略,可能让某个自动化任务在过期当天全线认证失败;服务账号应显式豁免老化,或改用密钥认证。

易错点

  • 混淆账号到期与密码到期,配成了不符合预期的那个
  • 给服务账号套用老化策略,导致自动化任务在某天集体失效
  • 忘记设置到期警告,用户在密码到期的当天才被迫中断工作
  • 批量修改前不做现状盘点,改完难以评估影响面
  • 只看密码策略不看账号到期日,审计时两项要一起查

数据来源与参考

  • man 1 chage(shadow-utils)
  • man 5 shadow(密码老化字段)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌