linux中可用chage命令管理密码有效期:一、-e设账户过期日;二、-m设密码最长使用天数;三、-w设到期前警告天数;四、-m设密码最短使用天数;五、-i设过期后宽限期。

如果您需要在Linux系统中管理用户密码的有效期限,可以通过chage命令配置密码过期策略。以下是实现该目标的具体操作步骤:
一、使用chage命令设置密码过期日期
chage命令可直接为指定用户设定密码的到期绝对日期,系统将在该日期后拒绝使用该密码进行身份验证。
1、以root用户或具备sudo权限的用户登录终端。
2、执行命令:sudo chage -E 2025-12-31 username,其中username替换为实际用户名,-E参数指定账户过期日期。
3、验证设置是否生效:sudo chage -l username,查看“Account expires”字段值。
二、设置密码最大使用天数
通过限制密码最长可使用天数,强制用户定期更换密码,提升账户安全性。
1、运行命令:sudo chage -M 90 username,表示该用户密码90天后必须更新。
2、若需禁用此限制(即密码永不过期),将数值设为-1:sudo chage -M -1 username。
3、执行sudo chage -l username确认“Maximum number of days between password change”字段已更新。
三、配置密码修改前警告天数
该设置决定系统在密码到期前多少天开始向用户提示即将过期,促使用户提前响应。
1、输入指令:sudo chage -W 7 username,表示提前7天发出警告。
2、警告天数必须小于-M设定的最大使用天数,否则不会触发提示。
3、检查结果:sudo chage -l username,核对“Number of days of warning before password expires”值。
四、设定密码最短使用天数
防止用户在修改密码后立即再次更改,避免绕过密码历史策略或弱密码循环使用。
1、执行命令:sudo chage -m 5 username,表示新密码至少须使用5天才能再次修改。
2、若允许即时重置,设为0:sudo chage -m 0 username。
3、通过sudo chage -l username确认“Minimum number of days between password change”字段正确反映设置。
五、锁定账户在密码过期后的宽限期
该参数定义密码过期后账户仍可登录的天数,超期则账户被完全禁用。
1、运行:sudo chage -I 3 username,表示密码过期后3天内仍可登录,但必须立即修改密码。
2、若设为0,密码到期后账户立即锁定;若设为-1,则禁用宽限期机制,账户仅受-E控制。
3、使用sudo chage -l username检查“Inactive”字段是否与设定一致。










