首页/系统/Linux 运维命令速查/账号锁定与禁用三件套

账号锁定与禁用三件套

禁用账号有三层:passwd -l 锁密码、usermod -s /sbin/nologin 禁交互、chage -E 过期日期;按场景组合使用才彻底。

Linux 运维命令速查系统更新于 2026-10-13

账号锁定与禁用

禁用账号分三层:锁定密码条目、禁止交互式登录、设定账号到期。三层各自拦住不同的入口,只做一层往往留了后门——锁了密码,密钥登录照样能进;换了登录解释器,已建立的会话与计划任务不受影响。离职与临时停用场景要把三层配齐。

基本信息

适用平台Linux、Unix 通用(shadow-utils 与核心工具)
常用手段锁定密码条目、把登录解释器改成禁止登录、设定账号到期日
判断依据是否允许密钥登录、是否有残留的计划任务与会话
恢复方式逐项反向操作,改完立即验证

三层与附加项

  • 锁密码:阻止密码认证,但不影响密钥登录
  • 禁交互:把登录解释器替换为禁止登录的版本,阻止交互式 shell
  • 设到期:让账号整体失效,不区分登录方式
  • 附加清理:计划任务、授权文件、服务单元都要过一遍
  • 验证:逐项确认生效,不要凭假设收工

常用示例

常用示例
passwd -l deploy && passwd -S deploy        # 锁定密码并确认状态
usermod -s /sbin/nologin deploy             # 禁止交互式登录
chage -E 0 deploy                           # 立即到期,账号不可登录
# 恢复:
chage -E -1 deploy && passwd -u deploy && usermod -s /bin/bash deploy

体检:还能登录的账号

体检:还能登录的账号
grep -vE '/(nologin|false)$' /etc/passwd

手段对照

手段拦住什么拦不住什么
锁定密码密码认证密钥登录与已有会话
禁止交互登录交互式 shell已有会话与计划任务
账号到期该账号的所有登录方式已经建立的连接
清理授权文件密钥登录需要主动执行才发现残留
清理计划任务后台静默执行需要逐项排查
锁定密码只是加前缀的软锁,密钥登录、切换用户以及已建立的会话都不受影响;离职场景必须补上禁止交互登录或账号到期。
清理离职账号最容易漏掉计划任务、服务单元与授权文件。按清单逐项过一遍,比上线后发现残留任务还在跑要省事得多。

易错点

  • 只锁密码不处理密钥与计划任务,账号仍能以其他方式访问
  • 忘记检查残留的计划任务,人已经离职任务还在跑
  • 恢复时只做了一半操作,账号处于既不能登录也未到期的灰色状态
  • 用改名或删除代替禁用,历史文件的属主变成悬空数字
  • 不验证就认为已完成,实际登录解释器或到期日仍是旧值

数据来源与参考

  • man 1 passwd
  • man 8 usermod
  • man 1 chage
  • RHEL 文档:锁定用户账号

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌