chage命令直接管理用户密码生命周期,-M设最长使用天数(如90天),-W设到期前警告天数(如7天),-I设过期后宽限期(如14天),-E设账户截止日(如2026-12-31)。

Linux 中用 chage 命令管理密码有效期,核心是控制密码的生命周期——什么时候必须改、提前几天提醒、过期后还能不能登。它不依赖配置文件修改,直接作用于单个用户,对已有账户立即生效。
查看当前密码策略
执行以下命令可快速了解一个用户的完整密码老化信息:
sudo chage -l username
输出中重点关注几项:
Password expires(密码到期日)
Maximum number of days between password change(最长使用天数,即 -M 设置值)
Number of days of warning before password expires(警告天数,-W)
Inactive(宽限期,-I)
Account expires(账户截止日,-E)
设置密码最长有效天数(最常用)
这是强制用户定期更新密码的关键参数:
-
sudo chage -M 90 username:密码 90 天后必须修改 -
sudo chage -M 0 username:密码立即过期,用户下次登录必须重设 -
sudo chage -M -1 username或sudo chage -M 99999 username:密码永不过期(慎用)
注意:-M 只影响密码本身,不影响账户登录能力;过期后用户仍可登录,但会被强制改密。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
搭配警告与宽限期防误操作
光设 -M 容易被忽略,建议组合使用:
-
sudo chage -W 7 username:密码到期前 7 天开始每天登录时提示 -
sudo chage -I 14 username:密码过期后还能登录 14 天,但每次都要改密;超期则账户锁定
警告天数(-W)必须小于最大天数(-M),否则不触发;宽限期(-I)为 0 表示密码一过期就锁账户,容易导致用户无法登录,一般不推荐。
控制账户整体生命周期
如果需要彻底禁用某个账号(比如临时工离职、外包合作结束),用 -E:
-
sudo chage -E 2026-12-31 username:账户在该日期后完全不可登录 -
sudo chage -E 0 username:立即禁用账户 -
sudo chage -E -1 username:取消账户过期限制
-E 和 -I 是两个独立机制:-E 锁整个账户(连 ssh 都拒绝),-I 只管密码有效性(允许登录但强制改密)。若两者同时设置,以先触发者为准。

















