chage -l $user可查看当前用户密码有效期,需root权限查看他人信息;password expires为密码到期日,account expires为账户失效时间,maximum number of days between password change为密码最长使用天数。

在 Linux 系统中,chage 命令是专门用于管理用户密码过期策略的工具,查看密码有效期是最常用的功能之一。只需普通权限(非 root)即可查询自己的密码状态,但查看其他用户信息通常需要 root 权限。
查看当前用户的密码有效期
直接运行以下命令即可显示当前登录用户的密码相关时间策略:
chage -l $USER
输出示例:
Last password change : Jan 15, 2024<br> Password expires : Apr 15, 2024<br> Password inactive : Apr 22, 2024<br> Account expires : never<br> Minimum number of days between password change : 0<br> Maximum number of days between password change : 90<br> Number of days of warning before password expires : 7
重点关注这几项:
- Password expires:密码到期日,超过该日期后用户必须修改密码才能登录
- Account expires:账户整体失效时间(与密码无关),设为 never 表示永不过期
- Maximum number of days between password change:密码最长使用天数(即有效期长度)
- Last password change:上次修改密码的时间,结合最大天数可推算到期日
查看指定用户的密码有效期(需 root 权限)
系统管理员可查看任意用户的信息:
sudo chage -l username
例如:
sudo chage -l alice
若提示 "chage: user 'alice' does not exist",说明该用户不存在或拼写错误;若提示权限拒绝,请确认是否加了 sudo。
快速判断密码是否即将过期
仅关注关键字段可快速评估风险:
- 如果 Password expires 显示一个具体日期且距今 ≤7 天,说明密码即将到期
- 如果显示 password must be changed 或 password expired,表示已无法用原密码登录
- 若 Account expires 是过去日期,即使密码有效,账户也无法登录
补充说明
chage -l 显示的是 shadow 数据库中的策略,并不实时校验当前密码是否真的过期——实际登录时由 PAM 模块动态检查。另外,部分发行版(如某些最小化安装的 CentOS/RHEL)可能默认未安装 chage,可运行 yum install shadow-utils 或 apt install passwd 安装对应软件包。











