使用chage命令可管理Linux密码策略,如chage -M设置最大使用天数,chage -d 0强制首次登录改密,结合/etc/login.defs配置默认策略,提升系统安全。

在Linux系统中,密码安全管理是系统维护的重要部分。通过设置密码过期策略,可以强制用户定期更改密码,从而提升系统安全性。实现这一功能的核心命令是 chage,它用于查看和修改用户密码的过期信息。
查看用户密码过期信息
使用 chage -l 命令可以查看指定用户的密码状态,包括密码最后修改时间、过期时间、最小/最大天数等。
示例:- chage -l username —— 查看用户 username 的密码策略
输出内容包含:
- Last password change:上次修改密码时间
- Password expires:密码过期时间
- Minimum number of days between password change:两次修改密码的最小间隔
- Maximum number of days between password change:密码最长使用天数
- Warning before password expires:过期前多少天开始提醒
设置密码过期时间
通过 chage 可以精确配置密码生命周期。常用选项包括:
- -M:设置密码最大使用天数
- -m:设置密码最小修改间隔天数
- -W:设置密码过期前警告天数
- -I:设置密码过期后宽限天数(之后账户将被锁定)
- -E:设置账户整体的到期日期(与密码无关,是账户失效时间)
- chage -M 90 username —— 密码每90天必须更换
- chage -m 7 -M 90 -W 14 username —— 最小7天内不能改,最多使用90天,提前14天提醒
- chage -I 5 username —— 密码过期后5天内未改则账户锁定
- chage -E 2025-12-31 username —— 用户账户在2025年12月31日后失效
强制用户首次登录修改密码
对于新创建的用户,可通过将密码最后修改时间设为0,使其首次登录时必须更改密码。
命令:- chage -d 0 username —— 强制用户下次登录时修改密码
该方法常用于管理员为用户创建账户后,确保用户设置自己的私有密码。
批量设置默认密码策略
系统默认策略定义在 /etc/login.defs 文件中,影响新用户创建时的默认密码规则。
相关配置项包括:
- PASS_MAX_DAYS:默认最大天数(如90)
- PASS_MIN_DAYS:默认最小间隔(如7)
- PASS_WARN_AGE:默认警告天数(如7)
修改此文件不会影响已有用户,仅对之后创建的用户生效。
基本上就这些。合理使用 chage 命令,配合系统默认配置,可以有效提升Linux系统的账户安全水平。注意设置时要兼顾安全与用户体验,避免过于频繁的密码更换导致用户抵触。










