服务器测评网
我们一直在努力

chage linux

chage 命令:管理 Linux 用户密码策略的核心工具

在 Linux 系统管理中,用户账户安全是至关重要的一环,而密码作为账户安全的第一道防线,其有效管理直接关系到系统的整体安全性。chage(change age)命令是 Linux 系统中专门用于管理用户密码策略的实用工具,它允许管理员或用户本人查看、修改密码的过期时间、警告期、宽限期等关键属性,从而实现精细化的密码生命周期控制,本文将详细介绍 chage 命令的用法、核心参数及实际应用场景,帮助读者全面掌握这一安全利器。

chage linux

chage 命令的基本语法与功能概述

chage 命令的基本语法结构为:

chage [选项] 用户名  

其核心功能是通过修改 /etc/shadow 文件(该文件存储了用户的加密密码及密码策略信息)来调整与密码相关的属性,与 passwd 命令不同,chage 更侧重于密码策略的配置,而非密码本身的修改,通过合理使用 chage,管理员可以强制用户定期更新密码、避免长期使用弱密码,从而有效降低账户被盗风险。

核心参数详解:掌控密码生命周期的关键

chage 命令提供了丰富的参数,以下为最常用的选项及其作用:

-m, --mindays:最小密码使用天数

该参数用于设置密码修改后最短的使用期限,若设置为 7,则用户在修改密码后至少需等待 7 天才能再次更改密码,这可防止用户频繁修改密码以绕过复杂度要求,或短期内重复使用旧密码。

-M, --maxdays:最大密码使用天数

这是最重要的参数之一,用于定义密码的有效期,到期后,用户必须修改密码才能继续登录。chage -M 90 username 表示该用户的密码每 90 天过期一次,结合 -m 参数,可形成“最小使用期+最大有效期”的完整密码生命周期管理。

-W, --warndays:密码过期警告天数

当密码距离过期还有指定天数时,系统会在用户登录时发出警告提示。-W 7 表示密码过期前 7 天开始提醒用户,促使其及时更新密码,避免因密码过期导致无法访问系统。

-I, --inactive:密码过期后非活跃天数

若用户在密码过期后未及时修改密码,该参数用于设置账户的“宽限期”,宽限期结束后,账户将被锁定,除非管理员手动解锁。-I 3 表示密码过期后 3 天内用户仍可登录修改密码,超过 3 天则账户失效。

chage linux

-E, --expiresdate:账户绝对过期日期

用于设置账户的最终失效日期,格式通常为 YYYY-MM-DD-E 2024-12-31 表示该账户将在 2024 年 12 月 31 日后失效,常用于临时账户或项目账户的权限管理。

-l, --list:查看当前密码策略信息

该参数以可读格式输出用户的当前密码策略,包括最小使用期、最大有效期、警告期、宽限期、账户过期日期等,方便管理员快速审计或用户自查。

实际应用场景:从基础到高级的实践

为新用户设置强密码策略

假设公司要求员工密码每 60 天更新一次,且至少使用 10 天,过期前 7 天提醒,过期后 3 天内未修改则锁定账户,可通过以下命令实现:

chage -m 10 -M 60 -W 7 -I 3 username  

执行后,该用户的密码策略将严格符合企业安全规范。

查看并修改特定用户的密码策略

若需检查用户 test 的当前密码策略,可使用:

chage -l test  

输出示例:

Last password change                                    : Dec 10, 2023  
Password expires                                        : Mar 10, 2024  
Password inactive                                       : Mar 13, 2024  
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  

若需调整最大有效期为 120 天,只需执行:

chage linux

chage -M 120 test  

为临时账户设置过期日期

对于实习生或短期合作者,可设置账户在项目结束后自动失效:

chage -E 2024-06-30 temp_user  

无需手动干预,账户将在指定日期后自动禁用,避免权限残留风险。

强制用户下次登录修改密码

若用户忘记密码或怀疑密码泄露,可通过 chage 强制其下次登录时重置密码:

chage -d 0 username  

参数 -d 0 会将密码的“上次修改日期”设置为 0,导致系统认为密码已过期,用户登录后必须设置新密码才能继续使用。

chage 与其他密码管理工具的协同

chage 并非孤立存在,它与 Linux 生态中的其他密码管理工具形成互补:

  • passwd 命令:用于修改密码本身,而 chage 管理密码策略。passwd -e usernamechage -d 0 username 效果相同,均强制用户下次登录改密。
  • /etc/login.defs 文件:系统级的默认密码策略配置文件,chage 可针对用户覆盖这些默认值,若 login.defsPASS_MAX_DAYS 90,但通过 chage -M 120 username 可为特定用户延长有效期。
  • pam_pwquality 模块:结合 chage 的策略期限,pam_pwquality 可在密码修改时检查复杂度(如长度、字符类型),实现“期限+复杂度”的双重安全控制。

注意事项与最佳实践

  1. 谨慎使用 -I-E 参数:宽限期过短可能导致用户因未及时收到警告而被锁定;账户过期日期需结合实际需求,避免误操作导致合法用户无法访问。
  2. 定期审计密码策略:通过 chage -l 结合脚本(如 awkgrep)批量扫描所有用户的密码策略,及时发现长期未更新或策略过松的账户。
  3. 结合用户组管理:对不同权限的用户组(如管理员、普通用户、开发者)设置差异化的密码策略,例如管理员账户缩短有效期、增加复杂度要求。
  4. 避免直接修改 /etc/shadow:虽然 /etc/shadow 存储了密码策略信息,但手动修改易出错,推荐始终使用 chage 命令,确保数据一致性。

chage 命令作为 Linux 系统中密码策略管理的核心工具,以其灵活性和精确性为系统安全提供了重要保障,通过合理配置最小使用期、最大有效期、警告期和宽限期等参数,管理员可以构建多层次的密码防护体系,既能满足合规性要求,又能提升用户体验,在实际操作中,需结合企业安全策略和用户场景灵活应用,并定期审计优化,才能真正发挥 chage 的安全价值,为 Linux 系筑起坚实的密码防线。

赞(0)
未经允许不得转载:好主机测评网 » chage linux