首页/安全/安全加固速查/账号锁定与解锁(passwd/usermod)
口令与认证策略55 条

账号锁定与解锁(passwd/usermod)

离职、审计冻结、临时封禁用 passwd -l/-u 或 usermod -L/-U;锁定只是加 ! 前缀,不动密钥与计划任务,适合快速处置。

安全加固速查安全更新于 2026-10-13

锁定账号解决什么问题

人员离职、安全事件处置、账号临时冻结,都需要快速让一个 Linux 账号无法再登录。passwd -l 与 usermod -L 的做法是在 shadow 文件的密码字段前加感叹号前缀,使该口令不再能通过校验,成本极低且可逆,适合作为第一时间的处置手段。

基本信息

适用平台Linux(shadow 体系,需 root)
锁定命令passwd -l <账号> 或 usermod -L <账号>
解锁命令passwd -u <账号> 或 usermod -U <账号>
状态查询passwd -S <账号>

典型使用场景

  • 离职处置第一步:先锁账号止血,再清理密钥、会话与计划任务
  • 安全事件响应:怀疑账号被使用但不宜直接删除时,先冻结
  • 共享账号回收:停用长期无人认领的账号,纳入定期复核
  • 测试账号临时封闭:保留数据与家目录,只是暂时不给登录

锁定与解锁

锁定与解锁
# 锁定:shadow 密码字段前加感叹号前缀
passwd -l olduser
# 查看状态:LK 表示已锁定,PS 表示有可用口令,NP 表示空口令
passwd -S olduser
# 解锁
passwd -u olduser
# 等价写法
usermod -L olduser && usermod -U olduser
# 核查全部被锁与空口令账号
awk -F: '($2 ~ /^!/) {print $1" locked"}' /etc/shadow | head
awk -F: '($2=="") {print $1" empty-password"}' /etc/shadow

状态与字段读法

对象含义异常表现
passwd -S 的 LK已锁定刚离职或刚处置的账号应为此状态
passwd -S 的 NP无口令风险极高,任何人可空口令登录
passwd -S 的 PS有可用口令需确认是否仍应保留
shadow 第二列口令哈希或锁标记以感叹号开头表示锁定,字段为空表示无口令
passwd -l 不影响已在运行的进程与 SSH 密钥:它只挡住口令登录。彻底停用要同时删除 authorized_keys、终止会话、移除计划任务与 sudo 例外。
锁定与删除的差别要提前想清:锁定保留家目录与文件属主,删除会造成文件无主。离职场景通常先锁后删,中间留出交接期。
定期核查哪些账号处于锁定状态:长期锁定又无人认领的账号应转入删除流程,否则清单会越来越长,真正的风险账号反而被淹没。

易错点

  • 以为锁定就万事大吉:密钥登录、已有会话、cron 任务都还能用该账号的运行环境
  • 解锁用 passwd -u 失败:账号当前没有有效口令时需先设口令再解锁
  • 只锁账号不查 sshd 的 AllowUsers 等例外配置:处置遗漏入口,事件复发
  • 空口令账号长期存在:NP 状态是扫描器与自动化工具的优先目标,必须列入核查

数据来源与参考

  • man 1 passwd
  • 等保 2.0:账号生命周期管理

相关工具

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