要查看用户密码状态,使用chage -l 用户名命令;例如chage -l john会显示上次密码修改时间、过期时间等信息。1. last password change为上次修改日期;2. password expires为密码过期日期;3. password inactive为密码过期后账户禁用日期;4. account expires为账户过期日期;5. minimum number of days between password change为密码修改最小间隔天数;6. maximum number of days between password change为密码修改最大间隔天数;7. number of days of warning before password expires为密码过期前提前警告天数。要修改密码策略,可使用chage命令的-m(设置最小天数)、-m(设置最大天数)、-d(设置上次修改日期)、-i(设置密码过期后禁用天数)、-e(设置账户过期日期)选项,并需root权限。全局策略通过修改/etc/login.defs文件中的pass_max_days、pass_min_days、pass_warn_age参数实现,但仅影响新用户;已有用户需单独用chage调整。此外,pam模块如pam_pwquality.so用于配置密码复杂度,相关配置位于/etc/pam.d/common-password文件中。

Linux用户密码状态,可以通过chage命令进行检查,它能告诉你密码何时过期、上次修改时间以及其他相关策略。这对于系统安全管理至关重要。

使用chage命令来检查和管理Linux用户密码策略。

如何使用chage -l命令查看用户密码状态?
chage -l 用户名 是查看密码状态最常用的方法。例如,要查看用户john的密码状态,可以运行 chage -l john。输出会包含:
- Last password change: 上次密码修改的日期。
- Password expires: 密码过期日期。
- Password inactive: 密码过期后,账户被禁用的日期。
- Account expires: 账户本身的过期日期。
- Minimum number of days between password change: 密码修改之间的最小天数。
- Maximum number of days between password change: 密码修改之间的最大天数。
- Number of days of warning before password expires: 密码过期前多少天开始警告用户。
这些信息能帮助你了解用户的密码策略是否符合安全标准,例如,密码是否设置了强制过期时间,或者用户是否可以随意修改密码。

如何使用chage命令修改用户密码策略?
除了查看,chage还能修改密码策略。常用的选项包括:
-
-m: 设置密码修改之间的最小天数。例如,chage -m 7 john表示用户john必须至少等待7天才能修改密码。 -
-M: 设置密码修改之间的最大天数。例如,chage -M 90 john表示用户john的密码每90天必须修改一次。 -
-d: 设置上次密码修改的日期。这可以用来强制用户下次登录时修改密码。例如,chage -d 2023-01-01 john将上次密码修改日期设置为2023年1月1日。 -
-I: 设置密码过期后账户被禁用的天数。 -
-E: 设置账户过期日期。
修改密码策略需要root权限,所以通常需要使用 sudo。举个例子,要强制用户 john 下次登录时修改密码,可以执行 sudo chage -d 0 john。 -d 0 表示将上次密码修改日期设置为1970年1月1日(Unix纪元),这样用户下次登录时就会被要求修改密码。
如何设置全局密码策略?
虽然chage可以针对单个用户设置密码策略,但通常需要设置全局密码策略。这可以通过修改 /etc/login.defs 文件来实现。这个文件包含了系统默认的密码策略设置。
可以修改以下参数:
-
PASS_MAX_DAYS: 密码的最大有效天数。 -
PASS_MIN_DAYS: 密码的最小有效天数。 -
PASS_WARN_AGE: 密码过期前警告用户的天数。
例如,要设置密码最大有效天数为90天,可以编辑 /etc/login.defs 文件,找到 PASS_MAX_DAYS 这一行,将其修改为 PASS_MAX_DAYS 90。
需要注意的是,修改 /etc/login.defs 文件只会影响新创建的用户。对于已存在的用户,需要使用 chage 命令单独修改。此外,PAM (Pluggable Authentication Modules) 也会影响密码策略,特别是 pam_pwquality.so 模块,它可以用来强制密码复杂度。要配置 PAM,需要修改 /etc/pam.d/common-password 文件。
总的来说,密码策略管理是一个涉及多个方面的任务,需要综合考虑用户需求、安全要求和系统配置。










