密码最长使用期限需设为60–90天以平衡安全与运维,Windows通过组策略或net accounts配置,Linux通过/etc/login.defs全局设置和chage命令单独调整,并注意最短期限不得大于最长期限、新策略不自动生效于旧用户等关键事项。

设置服务器账户密码最长使用期限,核心是控制密码的有效天数,防止长期不更换带来的安全风险。不同系统操作路径和命令不同,但逻辑一致:设定一个上限值,到期后用户必须修改密码才能继续登录。
Windows 服务器(含域控与本地)
适用于 Windows Server 或启用了组策略的 Windows 专业版/企业版:
- 打开组策略管理编辑器(
gpedit.msc),路径为:
计算机配置 → Windows 设置 → 安全设置 → 账户策略 → 密码策略 → 密码最长使用期限 - 双击该策略,输入天数(1–999),设为 0 表示永不过期;若需强制每90天更新,就填 90
- 对域环境,建议在默认域策略或专用 GPO 中配置,确保策略下发到所有域成员
- 若仅针对单个本地用户(如 test),可用命令行:
wmic useraccount where "Name='test'" set PasswordExpires=false(设为永不过期)
或用net accounts /maxpwage:90修改全局限制
Linux 服务器(CentOS/RHEL/Ubuntu 等)
Linux 分两层生效:全局默认策略(影响新建用户) + 单用户策略(影响现有用户):
-
修改全局默认值:编辑
/etc/login.defs,调整以下参数:PASS_MAX_DAYS 90(密码最多用90天)PASS_MIN_DAYS 7(两次修改至少间隔7天,防绕过)PASS_WARN_AGE 7(到期前7天开始提醒) -
为已有用户单独设置:用
chage命令,例如:sudo chage -M 90 -m 7 -W 7 username
其中-M即为最长使用期限,填99999表示永不过期 - root 用户不受
/etc/login.defs约束,必须用chage单独设置,如:sudo chage -M 99999 root
关键注意事项
避免常见配置冲突或失效问题:
- 最短期限不能大于最长期限:例如设最长为30天,最短就不能设35天,否则策略不生效
-
设为永不过期要谨慎:Windows 设
0、Linux 设99999虽技术上可行,但不符合等保或行业安全基线要求 -
新策略对已有用户不自动生效:Linux 的
/etc/login.defs只作用于后续新建用户;老用户必须手动运行chage -
首次登录强制改密需配合使用:若管理员代设密码,应同时执行
chage -d 0 username或passwd --expire username,触发下次登录时更新
实际中建议最长使用期限设为 60–90 天,兼顾安全性与运维便利性。策略调整后,可通过 chage -l username(Linux)或 net user username(Windows)验证是否写入成功。

















