Linux口令存留期怎么查
Linux口令存留期怎么查详细介绍
在 Linux 系统中,查看用户口令存留期(密码有效期)可以通过以下几种方法实现:
一、查看全局密码策略(默认设置)
Linux 的全局密码策略通常定义在 /etc/login.defs 文件中,其中涉及密码有效期的关键参数:
PASSWORD_MAX_DAYS:密码的最大有效期(天数),超过后必须修改。PASSWORD_MIN_DAYS:密码的最短有效期(天数),短于该时间无法修改密码。PASSWORD_WARN_AGE:密码过期前的警告期限(天数)。
操作命令:
bash
/etc/login.defs
示例输出:
plaintext
PASSWORD_MAX_DAYS 90PASSWORD_MIN_DAYS 7
PASSWORD_WARN_AGE 14
二、查看单个用户的密码有效期
使用 chage 命令(Change Age)可以查看指定用户的密码策略详情,包括存留期:
bash
chage 用户名chage
输出说明:
Password last changed:上次修改密码的时间(若为never,表示未修改过初始密码)。Password expires:密码过期时间(若为never,表示无有效期限制)。Password in warning period:密码进入警告期的剩余天数。
示例(查看用户 testuser 的信息):
bash
chage testuser
输出:
plaintext
Last password change : Jan 01, 2024Password expires : Apr 01, 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 : 14
三、直接解析
/etc/shadow 文件(高级方法)
每个用户的密码策略细节也存储在 /etc/shadow 文件中(需管理员权限),每行对应一个用户,字段以冒号分隔,关键字段:
- 第 3 字段:密码最后修改时间(从 1970 年 1 月 1 日开始的天数,
0表示下次登录必须修改密码)。 - 第 4 字段:密码最短有效期(天数,即
PASSWORD_MIN_DAYS)。 - 第 5 字段:密码最长有效期(天数,即
PASSWORD_MAX_DAYS)。 - 第 6 字段:密码过期前的警告期(天数,即
PASSWORD_WARN_AGE)。
操作命令:
bash
/etc/shadow 用户名
示例(用户 testuser 的条目):
plaintext
testuser:$6$...:18250:7:90:14:::
- 第 4 字段
7:最短有效期 7 天。 - 第 5 字段
90:最长有效期 90 天。 - 第 6 字段
14:警告期 14 天。
总结
- 全局策略:优先查看
/etc/login.defs,适用于新创建的用户。 - 单个用户:推荐使用
chage -l <用户名>,直观易读。 - 底层数据:
/etc/shadow存储实际生效的策略,适用于脚本解析或故障排查。
注意:修改密码策略需管理员权限(使用 sudo 或切换至 root 用户),普通用户仅能查看自己的信息。