0

0

如何设置用户密码策略 chage过期时间管理

P粉602998670

P粉602998670

发布时间:2025-08-21 09:58:01

|

1127人浏览过

|

来源于php中文网

原创

chage命令用于管理linux用户密码过期策略,通过设置密码生命周期参数提升系统安全性;2. 使用chage -l查看用户密码策略,如最后修改时间、过期时间等;3. 通过chage -m设置密码最长使用天数(如90天),-m设置最短使用天数(如7天),-w设置到期前提醒天数(如7天),-i设置过期后宽限期(如14天),-e设置账户整体过期日期(如2025-12-31),-d重置密码最后修改日期;4. 批量配置新用户默认策略需修改/etc/login.defs中的pass_max_days、pass_min_days和pass_warn_age参数;5. 推荐安全策略为:-m 7 -m 90 -w 7 -i 14,临时用户额外设置-e指定账户失效时间;6. 可编写脚本结合chage -l或passwd -s定期检查即将过期的账户,实现自动化维护;综上,合理使用chage命令结合系统配置可有效管理用户密码生命周期,平衡安全与可用性。

如何设置用户密码策略 chage过期时间管理

在 Linux 系统中,

chage
命令是管理用户密码过期策略的核心工具之一。通过合理设置密码策略,可以增强系统安全性,防止弱密码长期使用或账户被长期闲置后滥用。以下是关于如何使用
chage
设置用户密码策略和管理密码过期时间的详细说明。


一、chage 命令基本功能

chage
(change age)用于查看和修改用户密码的过期信息。它直接影响
/etc/shadow
文件中的密码生命周期字段。

常用选项包括:

  • -l
    :列出指定用户的密码过期信息
  • -d
    :设置密码最后一次修改的日期(YYYY-MM-DD 或天数)
  • -E
    :设置账户过期日期(YYYY-MM-DD)
  • -m
    :密码最短使用天数(修改间隔最小天数)
  • -m
    :密码最长使用天数(有效期)
  • -W
    :密码到期前提前警告天数
  • -I
    :密码过期后进入宽限期(inactivity period),之后账户锁定

二、查看当前用户密码策略

chage -l username

例如查看用户

alice
的密码策略:

chage -l alice

输出示例:

Last password change                    : Feb 10, 2025
Password expires                        : May 11, 2025
Password inactive                       : never
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

三、设置密码过期策略的常用方法

1. 设置密码最长有效期(强制定期改密)

限制用户每 90 天必须修改一次密码:

chage -M 90 username

2. 设置密码最短使用天数

防止用户频繁修改密码“绕过”策略,例如至少 7 天才能改一次:

chage -m 7 username

3. 设置密码到期前的警告天数

提前 7 天提醒用户密码即将过期:

chage -W 7 username

4. 设置密码过期后的宽限期(账户锁定前的缓冲期)

密码过期后,允许用户在登录时立即修改密码的“宽限期”。若超过该期限未改,则账户被禁用:

chage -I 14 username

表示密码过期后 14 天内仍可登录并强制改密,超过 14 天账户将被锁定。

5. 设置账户整体过期时间(账户失效时间)

无论密码状态如何,账户在指定日期后无法登录:

文心快码
文心快码

文心快码(Comate)是百度推出的一款AI辅助编程工具

下载
chage -E 2025-12-31 username

也可用天数(自1970年1月1日起):

chage -E 19720 alice  # 例如:2024-01-01

6. 设置密码最后修改日期(用于初始化或重置策略)

例如将某用户密码“最后修改时间”设为今天,用于启动密码有效期计算:

chage -d $(date +%Y-%m-%d) username

四、批量设置默认密码策略(适用于新用户)

修改系统默认值,可通过编辑

/etc/login.defs
文件:

sudo vim /etc/login.defs

关键参数:

PASS_MAX_DAYS   90
PASS_MIN_DAYS   7
PASS_WARN_AGE   7

这些设置会影响后续使用

useradd
创建的用户。

注意:已有用户不会自动应用这些设置,需手动用 chage 修改。

五、实战建议:推荐的安全密码策略

对于普通用户,建议配置如下:

  • 密码最短使用天数:7 天
  • 密码最长使用天数:90 天
  • 到期前提前 7 天警告
  • 过期后 14 天内可改密(宽限期)
  • 账户永久有效(除非临时用户)

命令示例:

chage -m 7 -M 90 -W 7 -I 14 username

对于临时用户(如外包人员),可设置账户过期:

chage -E 2025-06-30 tempuser

六、自动化检查与维护

可编写脚本定期检查即将过期的账户:

#!/bin/bash
for user in $(awk -F: '$7=="" || $7>"100000" {print $1}' /etc/shadow); do
    chage -l $user | grep "Password expires"
done

或使用

passwd -S
辅助查看状态。


基本上就这些。

chage
是管理 Linux 用户密码生命周期最直接有效的工具,结合
/etc/login.defs
和 PAM 模块可实现更复杂的策略。关键是根据组织安全策略合理设定参数,避免过于严苛影响使用,也防止过于宽松带来风险。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1345

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

698

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

773

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

571

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

544

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

296

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

374

2023.07.25

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 2.3万人学习

Kotlin 教程
Kotlin 教程

共23课时 | 2.1万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号