Linux实现用户密码到期时间查看

作者:袖梨 2026-07-08

在 Linux 系统中,查询用户密码到期时间可以通过以下几种方法来实现。

Linux实现查看用户密码到期时间

方法 1:使用chage命令

chage 命令可以查看用户密码的到期时间、上次修改时间、最小和最大密码年龄等信息。

语法

chage -l username

示例

chage -l testusr

输出:

Last password change                                    : Aug 16, 2024Password expires                                        : Nov 14, 2024Password inactive                                       : neverAccount expires                                         : neverMinimum number of days between password change          : 7Maximum number of days between password change          : 90Number of days of warning before password expires       : 7

如上:用户 testusr 的密码将在 2024年11月14日 过期。

方法 2:使用passwd命令

使用 passwd 命令显示用户密码的过期信息。

语法

passwd -S username

示例

passwd -S testusr

输出:

testusr P 08/16/2024 90 7 7
  • P 表示账户密码已启用(L 表示已锁定)。
  • 08/16/2024 是密码上次修改的日期。
  • 90 表示密码的最大有效天数(即密码将过期的天数)。
  • 7 是在密码到期之前提醒用户的天数。

可以结合上次修改时间和最大天数来推算密码到期日期。

方法 3:查看/etc/shadow文件

用户密码到期信息存储在 /etc/shadow 文件中。可以直接查看这个文件,不过信息是加密和编码的,处理起来略复杂。

示例

grep testusr /etc/shadow

输出:

testusr:$6$Klk7/...:18934:7:90:7:::

解释:

  • 第 4 列(18934)表示上次修改密码的日期,基于自 1970-01-01 以来的天数。
  • 第 5 列表示最小密码修改间隔(天)。
  • 第 6 列表示最大密码有效期(天)。
  • 第 7 列是密码过期前的警告天数。

要查看具体到期时间,可以用日期计算器将第 4 列转换为实际日期。例如,18934 是自 1970-01-01 以来的天数。

date -d "1970-01-01 +18934 days"

输出:

Thu Aug 16 00:00:00 UTC 2023

这样就可以得知密码的上次修改时间。结合最大有效期,计算出到期时间。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。

您可能感兴趣的文章:
  • Linux root用户密码输入错误锁定策略及旧密码失效的解决方案
  • Linux Shell脚本批量创建用户与设置密码的方法
  • Linux使用passwd命令修改用户密码详细教程
  • Linux设置用户密码过期时间或永不过期的具体方法
  • Linux系统重置用户密码的操作指南

相关文章

精彩推荐