在Linux中修改密码过期时间的方法

 更新时间:2025年12月12日 09:53:36   作者:鸠摩智首席音效师  
文章介绍了Linux下的chage命令,用于管理用户密码的过期策略,通过设置各种选项,管理员可以控制密码过期的最小间隔、警告期、非活动期、最后修改日期和帐户过期日期等,需要的朋友可以参考下

Linux 下的 chage 命令用于修改用户密码的过期时间信息。它允许管理员设置密码过期策略,确保用户定期更改密码以提高安全性。

基本语法

Change 命令基本语法如下:

chage [options] [user]

下面是一些使用 chage 命令时最常用的选项:

  • -d, --lastday : 设置最后一次修改密码的日期
  • -E, --expiredate : 设置帐户过期日期
  • -h, --help : 显示帮助信息
  • -I, --inactive : 设置密码过期后不活动的天数
  • -l, --list : 列出密码和帐户信息
  • -m, --mindays : 设置密码修改的最小间隔天数
  • -M, --maxdays : 设置需要修改密码的最大天数
  • -W, --warndays : 设置密码过期前向用户发出警告的天数

命令示例

(1) 显示指定用户的密码和帐户信息

chage -l username

(2) 设置用户密码修改间隔的最小天数设置为 7 天

chage -m 7 username

(3) 设置用户密码修改之前密码可用天数为 90 天

chage -M 90 username

(4) 设置用户密码过期前 7 天发出警告

chage -W 7 username

(5) 设置用户密码过期后的非活动天数设置为 14 天,超过此时间,帐户将被锁定。

chage -I 14 username

(6) 设置用户的最后一次密码修改日期为 2023 年 4 月 1 日

chage -d 2023-04-01 username

(7) 设置用户帐户到期日期为 2023 年 12 月 31 日

chage -E 2023-12-31 username

Linux查看用户密码到期时间

方法 1:使用 chage 命令

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

语法:

chage -l username

示例:

chage -l testusr

输出:

Last password change                                    : Aug 16, 2024
Password expires                                        : Nov 14, 2024
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 7
Maximum number of days between password change          : 90
Number 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中修改密码过期时间的方法的文章就介绍到这了,更多相关Linux修改密码过期时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

最新评论