chage -M 天数 用户名
设置最大有效期,chage -E 日期 用户名
设置过期日期。 ,2. **全局默认**:编辑 /etc/login.defs
,修改 PASS_MAX_DAYS
等参数。 ,3. **查看状态**:chage -l 用户名
检查当前策略。 ,(需root权限操作)方法1:修改全局默认配置(影响所有新用户)
通过编辑配置文件 /etc/login.defs
设置默认策略:
sudo nano /etc/login.defs # 使用vi或vim亦可
找到以下参数并调整(单位:天):
PASS_MAX_DAYS 90 # 密码最长有效期(90天后必须修改) PASS_MIN_DAYS 7 # 密码最短有效期(7天内不能修改) PASS_WARN_AGE 14 # 密码过期前提醒时间(提前14天警告)
生效范围:
- 仅对新创建的用户生效
- 现有用户需单独修改(见方法2)
方法2:修改特定用户配置(即时生效)
使用 chage
命令调整指定用户的策略:
sudo chage -l username # 查看当前配置 sudo chage -M 90 username # 设置密码最长有效期90天 sudo chage -m 7 username # 设置密码最短修改间隔7天 sudo chage -W 14 username # 设置过期前14天提醒 sudo chage -I 30 username # 密码过期后宽限期30天(超时账户锁定)
关键参数说明:
| 选项 | 含义 | 示例命令 |
|——|———————–|————————|
| -M
| 密码最长使用天数 | chage -M 90 user1
|
| -m
| 密码最短修改间隔 | chage -m 7 user1
|
| -W
| 过期警告天数 | chage -W 14 user1
|
| -I
| 过期后锁定前的宽限期 | chage -I 30 user1
|
| -E
| 设置账户绝对过期日期 | chage -E 2025-12-31 user1
|
验证配置
# 检查全局默认值(需结合用户实际配置) grep ^PASS /etc/login.defs # 查看用户具体策略 sudo chage -l username
输出示例:
Last password change : Jan 01, 2025
Password expires : Apr 01, 2025 (90天后)
Password inactive : May 01, 2025 (宽限期30天)
Account expires : never
Minimum number of days...: 7
Maximum number of days...: 90
Warning number of days...: 14
注意事项
- 权限要求:必须使用
sudo
或 root 账户操作 - 兼容性:
chage
命令适用于所有用户(包括root)/etc/login.defs
对root账户无效(需单独用chage
配置)
- 安全建议:
- 生产环境建议设置
PASS_MAX_DAYS ≤ 90
- 敏感账户启用双因素认证(2FA)补充密码策略
- 定期审计:使用脚本检查过期账户
awk -F: '{print $1}' /etc/shadow | xargs -n1 chage -l
- 生产环境建议设置
- 关联配置:
- 密码复杂度:通过
/etc/pam.d/common-password
或/etc/security/pwquality.conf
设置 - 账户锁定:失败登录处理(如
pam_tally2
模块)
- 密码复杂度:通过
常见问题
Q:修改后为何不生效?
A:检查是否冲突:
- 用户自定义策略覆盖全局设置(用
chage -l
确认) - 系统启用其他认证模块(如LDAP)需在主服务器配置
Q:如何批量修改现有用户?
A:使用循环脚本(谨慎操作):
# 将所有用户密码有效期设为90天 for user in $(cut -d: -f1 /etc/passwd); do sudo chage -M 90 $user; done
合理配置密码有效期是Linux基础安全防护的关键步骤:
- 全局策略:通过
/etc/login.defs
管理新用户默认值 - 精细控制:用
chage
命令定制单个用户策略 - 深度防御:结合密码复杂度、账户锁定机制形成完整防护链
引用说明:本文内容基于Linux官方文档(man 5 login.defs, man 8 chage)及CIS安全基准最佳实践,操作前请备份关键文件(如
/etc/login.defs
、/etc/shadow
)。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/43272.html