如何在Linux中设置用户过期 Linux管理用户账号有效期的方法

轻枫姑娘_6422

轻枫姑娘_6422

2026-05-30

886人浏览

原创

chage 是唯一能安全、完整控制用户账号有效期的命令;它通过 -e 设置账户整体失效日期并写入 /etc/shadow 第8字段,同时需配合 -m 和 -w 约束密码生命周期,避免登录即锁。

如何在linux中设置用户过期 linux管理用户账号有效期的方法

chage 是唯一能安全、完整控制用户账号有效期的命令。用 usermod -e 只改账户到期日,不碰密码策略,极大概率导致用户登录后立刻被锁——因为密码已过期但没提示重设。

chage -E 设置账户整体失效日期

账户在指定日期零点后完全禁用,无论密码是否有效:
chage -E 2026-12-31 alice
该操作直接写入 /etc/shadow 第8字段(expire),值为从1970-01-01起算的天数。若设为 "" 或 -1,字段清空,chage -l alice 显示 Account expires 为 never。
常见错误:

  • 传入带空格或时区的日期,如 "Dec 31 2026" 或 2026-12-31T00:00:00Z —— chage 拒绝解析,静默失败
  • 对 root 执行 chage -E 后未配 -I 宽限期,一旦 root 密码过期,可能失去紧急访问能力

chage -M 和 -W 配合防止“登录即锁”

仅设 -E 不够,必须同步约束密码生命周期:
chage -M 60 -W 7 alice 表示密码最长用60天,提前7天开始警告。
关键逻辑:

  • -W 值必须小于 -M,否则警告不触发
  • -M 0:密码立即过期,强制下次登录重设(适合新用户初始化)
  • -M -1:密码永不过期(对应 /etc/shadow 第7字段为 99999)
  • 若 -M 设为正数但没配 -W,用户直到登录才看到 “You are required to change your password immediately”

批量设置必须显式指定所有参数

脚本里别偷懒只用 usermod -e,它只动第8字段,留一堆密码逻辑脱节的账号:
for u in alice bob carol; do chage -E 2026-12-31 -M 45 -W 5 "$u"; done
验证是否生效:
chage -l alice | grep -E "(Account|Password) expires"
注意点:

  • 不要用 date +%Y-%m-%d 拼字符串传给 -E,确保输出无空格、无换行
  • 系统服务账户(如 www-data、mysql)通常不应设 -M,避免定时任务因密码过期中断
  • 若需统一新用户的默认策略,改 /etc/login.defs 中的 PASS_MAX_DAYS,不影响已有用户

查看和诊断实际生效字段

chage -l username 输出是最终依据,但得看懂它背后映射的 /etc/shadow 字段:

Zynq Linux Hardware Debug
Zynq Linux Hardware Debug

Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。

下载
  • Account expires → 第8字段(expire)
  • Password expires → 由第3字段(last password change) + 第4字段(max days)推算得出
  • Password inactive → 第7字段(inactive),即密码过期后还能登录的天数
比如 chage -l alice 显示 Password inactive : 7,说明第7字段是 7;若显示 never,则该字段为空或 0。
直接编辑 /etc/shadow 风险极高,chage 的价值正在于它校验逻辑、避免格式错位。 真正卡住人的从来不是单个命令怎么敲,而是账户禁用那一刻用户打不通电话、运维连不上机器——所以每次设 -E,务必同步确认 -M 和 -I 是否匹配业务容忍窗口。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

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

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

2023.06.21

4010

4

如何安装LINUX
如何安装LINUX

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

2023.06.29

3433

10

linux find
linux find

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

2023.06.30

2613

5

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

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

2023.07.05

6330

7

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

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

2023.07.06

5982

7

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

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

2023.07.20

3493

8

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

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

2023.07.20

2985

4

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

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

2023.07.25

3219

6

linux查找文件命令
linux查找文件命令

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

2023.07.31

297

3

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习