首页/安全/安全加固速查/可登录账号清单核查

可登录账号清单核查

列出所有能登录 shell 的账号:清单越短越可控,每个可登录账号都应能说清归属与用途。

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

可登录账号清单

可登录账号清单是账号收敛的基础动作:/etc/passwd 的最后一列是登录 shell,只要不是 nologin 或 false,这个账号就具备交互登录能力。清单越短越可控,每一个可登录账号都应该能说清归属、用途与负责人。核查时重点关注服务账号是否被设了 shell,以及有没有来源不明的账号。

基本信息

适用平台Linux
风险等级中
判读标准可登录账号需逐个有归属说明
核查文件/etc/passwd 与 /etc/shadow
相关命令awk、getent、passwd -S

典型使用场景

  • 账号收敛巡检,确认可登录账号清单
  • 排查服务账号是否被误设为可登录 shell
  • 离职员工账号的锁停核查
  • 应急响应时检查是否出现新增的可登录账号
  • 新系统交付前的账号面评审
  • 把账号清单与人员台账逐一核对

核查命令

核查命令
awk -F: '$7 !~ /(nologin|false)$/ {print $1" uid="$3" shell="$7}' /etc/passwd   # 列出所有非 nologin 的账号
awk -F: '$3>=1000 && $3<65534 {print $1" "$7}' /etc/passwd   # 只看普通用户段
getent passwd | awk -F: '$7 !~ /(nologin|false)$/ {print $1}' | sort   # 走 NSS 查询,包含域账号
ls -l /etc/passwd /etc/shadow      # 确认账号文件权限正常
passwd -S <账号>                   # 查看某个账号的口令状态是否已锁定

检查项与判读

检查项含义判读
登录 shell 列账号能否交互登录nologin 与 false 表示不可登录
UID 范围账号类型1000 以下多为系统账号
口令状态账号是否已被锁定已锁定账号即使有 shell 也无法登录
负责人归属账号对应的使用人找不到归属人的账号应先锁停
家目录是否存在可用家目录服务账号通常不该有可用家目录
整改口径:服务账号统一设置为 nologin;普通账号按人员清单逐一核对,离职账号及时锁停。
root 出现在清单里属于正常现象,重点是挑出意外出现的服务账号与来源不明的账号。
shell 字段为空也等于不可登录:判读时要把这一条与其他规则叠加,否则会把它误判成可登录账号,整改时就改错了对象。

易错点

  • 只跑一条 awk 就下结论,漏掉 shell 字段为空的情况,判读结果不准确
  • 直接读 /etc/passwd 而不走 NSS 查询,域账号或集中认证的账号被整片漏掉
  • 发现可登录的服务账号只改 shell 不核实业务依赖,导致服务无法启动
  • 清单出来不建台账,下次巡检仍然无法说清哪个账号是新增的
  • 离职账号只停用不锁口令,账号仍可能通过其他认证方式进入

数据来源与参考

  • CIS Linux Benchmark:账号收敛
  • 等保 2.0:访问控制

相关工具

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