chage命令用于管理用户密码过期策略,通过chage -l查看密码生命周期,使用-m、-M、-W、-I、-E、-d等参数设置最小/最大有效期、提醒时间、宽限期和账户过期日,可强制用户首次登录改密(chage -d 0)或禁用策略(chage -M -1),提升系统安全合规性。

chage命令用于查看或修改用户账户的密码过期信息。通过这个命令,系统管理员可以设置密码有效期、账户过期时间以及提醒策略,提升系统的安全管控能力。
查看用户密码过期信息
使用 chage -l 用户名 可以列出指定用户的密码生命周期详情。例如:
chage -l alice
输出内容包括:
- 最近一次密码修改时间
- 密码过期日期
- 账户失效日期
- 密码变更最小间隔天数
- 密码变更最大间隔天数
- 密码过期前多少天开始提醒
- 密码过期后宽限的非活动天数
设置密码有效期策略
可使用选项分别设定各项策略。常用参数如下:
- -m 最小天数:用户修改密码后,必须至少等待这么多天才可再次修改
- -M 最大天数:密码最多有效多少天,到期后必须更换
- -W 提醒天数:在密码过期前多少天开始提示用户
- -I 非活动天数:密码过期后,账户进入宽限期,超过则被锁定
- -E 过期日期:指定账户完全失效的日期(格式 yyYY-MM-DD)
- -d 上次修改日期:设置上次密码修改时间(YYYY-MM-DD)
示例:设置用户 bob 的密码每90天必须更换,提前14天提醒,修改后至少5天内不能改:
chage -m 5 -M 90 -W 14 bob
强制用户首次登录修改密码
新建用户后,若希望其首次登录时必须更改密码,可将密码最后修改时间设为0:
chage -d 0 username
这样用户下次登录时系统会提示“必须更改密码”,适用于初始账户分发场景。
禁用密码过期策略
若想取消某个用户的密码过期限制,可将最大天数设为 -1:
chage -M -1 username
这表示密码永不过期。其他字段也可设为 -1 表示无限制。
基本上就这些。合理使用 chage 能有效管理用户安全策略,尤其适合企业环境中的合规要求。