密码过期与账户到期是两件事
账号信息里有两个独立的日期:一个控制密码有效期,到期后要求修改密码;另一个控制账户本身的有效期,到期后账号直接失效。登录提示信息措辞往往含糊,只凭提示判断容易改错地方。用账户状态查询命令可以同时看到这两项的具体取值。
服务账号要特别处理
供程序或服务使用的账号一旦密码过期,业务会因为认证失败而中断,且没有任何人登录,运维很难第一时间联想到密码过期。这类账号通常采用不设过期或纳入统一轮换机制的方式管理,并把轮换动作与配置更新一起纳入变更流程。
基本信息
| 查询命令 | 账户状态查询命令,显示各项日期 |
|---|---|
| 密码相关 | 有效期天数、上次修改时间、强制改密标记 |
| 账户相关 | 账户到期日期,可用于关闭账号 |
| 管理命令 | 修改有效期、设置账户到期日、强制下次登录改密 |
典型使用场景
- 运维账号提示密码过期无法登录
- 服务程序报认证失败,排查发现运行账号密码到期
- 离职或转岗人员账号需要设置账户到期日
- 新交付环境批量规划密码与账号有效期策略
- 审计要求提供账号有效期与轮换配置的证据
查看
查看
chage -l <用户名> # 密码与账户到期等全部信息
passwd -S <用户名> # 密码状态摘要
date # 当前时间基准
lastlog -u <用户名> 2>/dev/null | head # 确认账号近期是否登录过处理
处理
chage -M 90 <用户名> # 密码有效期设为 90 天
chage -E 2027-12-31 <用户名> # 设置账户到期日,取消可设为 -1
chage -d 0 <用户名> # 下次登录强制改密
passwd <用户名> # 管理员直接设置新密码
chage -l <用户名> # 复核设置结果字段与含义
| 字段 | 含义 | 注意点 |
|---|---|---|
| 密码有效期 | 距上次修改可用的天数 | 设为不限制需评估安全要求 |
| 上次修改时间 | 密码最近一次变更日期 | 异常变更需核实操作来源 |
| 到期日期 | 账户失效时间 | 服务账号误设会导致业务中断 |
| 最小间隔 | 两次改密之间的最短天数 | 设置过大影响应急改密 |
| 警告天数 | 到期前提前提示的天数 | 过短用户来不及处理 |
服务账号的密码过期会造成无人登录却认证失败的现象,排查这类故障时把账号有效期列入检查项,能少走很多弯路;重要账号的到期策略变更建议先在小范围验证。