最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
怎么配置系统账号策略:实现对已过期账号自动挂起锁定指南
时间:2026-06-20 10:16:46 编辑:袖梨 来源:一聚教程网
Linux中chage -E设账户过期日可自动挂起账号,系统内核级生效,无需脚本;配合usermod -s /sbin/nologin或-L可彻底阻断交互式入口,Windows域环境可用Set-ADUser -AccountExpirationDate模拟等效挂起。
直接让系统自动挂起已过期账号,关键不是“等它过期再处理”,而是把“过期”本身设为不可登录的触发条件——Linux 中 chage -E 设置的账户过期日期一到,用户就无法通过任何标准认证方式(密码、PAM、SSH 密码登录)进入系统,等效于自动挂起锁定。
用 chage 设定精确过期日,实现自动挂起
这是最轻量、最可靠的方式,无需脚本或定时任务,系统内核级生效:
-
立即挂起指定用户:运行
sudo chage -E $(date -d "yesterday" +%Y-%m-%d) username,将过期日设为昨天,下次登录即提示 “Your account has expired” 并拒绝访问 -
批量挂起一批账号:例如所有 90 天未登录用户,先用
lastlog -b 90 | awk '$3 != "**Never logged in**" {print $1}' | xargs -I{} sudo chage -E $(date -d "yesterday" +%Y-%m-%d) {} -
查看是否生效:执行
chage -l username,确认输出中 Account expires 字段为具体日期,且该日期已早于当前时间(2026-06-16)
配合 usermod 彻底阻断交互式入口
chage 过期可防登录,但若用户仍保有有效 shell(如 /bin/bash),部分非标准路径(如 cron、systemd 用户服务)可能绕过检查。建议叠加以下任一操作:
-
sudo usermod -s /sbin/nologin username—— 替换登录 shell,阻止所有交互式会话(包括 su 切换) -
sudo usermod -L username—— 在 /etc/shadow 密码字段前加 !,禁用密码认证(注意:不影响 SSH 密钥登录) - 两者组合使用更稳妥:
sudo chage -E 0 username && sudo usermod -s /sbin/nologin username
验证挂起效果与常见误区
挂起后用户行为表现及排查要点:
- 尝试 SSH 密码登录 → 显示 Your account has expired 并断开连接
- 尝试 SSH 密钥登录 → 若未改 shell,仍可能成功;必须配合
usermod -s /sbin/nologin或清空其~/.ssh/authorized_keys - 用 root 执行
su - username→ 提示 Authentication failure 或直接拒绝,不报错也不进 shell - 误以为
passwd -l等同于挂起 → 实际只锁密码字段,chage -E才是生命周期层面的账户停用
Windows 域环境等效做法
域控本身不提供“挂起”动作,但可通过属性+策略模拟:
- 用 PowerShell 设置账户过期:
Set-ADUser -Identity username -AccountExpirationDate "2026-06-15"(早于今日即生效) - 配合组策略禁用密码策略中的“用户不能更改密码”和“密码永不过期”,确保 chage 类逻辑能被 AD 正确识别
- 登录时提示 “The referenced account is currently locked out…” 或 “Your password has expired” 视策略而定,本质等同挂起
相关文章
- 查看iPhone/iPad的MAC地址方法 08-12
- 迅捷 FAC1200R 无线路由器管控内网主机上网权限 08-12
- picacg官方网页-嗶叶picacg在线网址观看 08-12
- 华夏绘世录有哪些名士语音 08-12
- 爱氏物语隐藏结局怎么解锁 08-12
- 漫蛙防走丢失网页入口-漫蛙防走丢失网页入口最新防走失链接 08-12