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 表示下次登录必须改密 |
账号到期与密码到期是两件事:前者到点后账号彻底不能登录,后者是登录之后被迫修改密码。设置之前先想清楚要解决的是哪一种。
给服务账号套用人工账号的过期策略,可能让某个自动化任务在过期当天全线认证失败;服务账号应显式豁免老化,或改用密钥认证。