首页/系统/信创系统运维速查/账户清单核查:UID 0 与空口令
安全加固65 条

账户清单核查:UID 0 与空口令

交付与迎检前的常规动作:找出 UID 为 0 的账户、重复 UID、空口令与可登录的系统账户,逐个确认用途并处置。

信创系统运维速查系统更新于 2026-10-13

账户核查要查什么

账户清单核查是交付验收与安全检查的常规动作,重点看四类问题:除管理账号外是否还有其他账号拥有不受限权限、是否存在编号重复的账号、是否存在空口令账号、以及本不该交互登录的系统账号是否开放了登录外壳。这四类问题都会直接放大失陷后的影响面:多一个不受限账号等于多一把万能钥匙,空口令账号等于门没锁。核查本身是只读动作,处置才需要谨慎。

基本信息

账号文件账号与口令分别存放在两个系统文件中
重点之一拥有不受限权限的账号是否只有预期中的那一个
重点之二编号重复会造成权限归属混乱
重点之三空口令账号是必须清零的高危项
重点之四系统账号的登录外壳是否被收敛
权限读取口令文件相关字段需 root

典型使用场景

  • 交付验收:按清单逐项核对账户状态并留档
  • 安全检查前自检:提前发现不受限账号与空口令问题
  • 人员变动后清理:离职账号的处置与确认
  • 故障排查:服务以某个账号运行失败时核对账号状态
  • 审计追溯:确认归属与用途,补齐账号台账
  • 基线管理:定期比对账户清单,发现异常新增账号

核查命令(部分需 root)

核查命令(部分需 root)
awk -F: '$3==0 {print $1, $3}' /etc/passwd            # 找出不受限权限账号
awk -F: '{print $3}' /etc/passwd | sort -n | uniq -d | head   # 找重复编号
awk -F: '$2=="" {print $1}' /etc/shadow               # 找空口令账号
awk -F: '$7!~/(nologin|false)$/ {print $1, $7}' /etc/passwd   # 看可登录的系统账号
passwd -S someuser                                    # 单账号状态与口令时效
chage -l someuser                                     # 口令有效期策略

账户状态字段读法

观察项含义期望状态
编号为 0拥有不受限权限仅保留预期的管理账号
编号重复两个账号共享同一身份不应存在,需重新分配编号
口令字段为空可无口令登录必须处置,清零空口令
登录外壳决定能否交互登录服务账号应收敛为不可登录
口令锁定标记账号是否被锁定停用账号应处于锁定状态
不要直接编辑口令文件来改状态:这类文件有严格的格式与权限要求,手工改错会让认证系统整体异常。修改口令、锁定账号、设置有效期都应使用系统提供的账号管理工具,操作前先备份相关文件。
处置账号前必须确认业务依赖:账号可能被计划任务、提权配置、数据库授权或应用配置文件引用,直接删除会让服务起不来。稳妥顺序是先锁定、观察一段时间确认无影响,再删除或改为不可登录。

易错点

  • 直接编辑口令文件处置账号,格式写错导致认证与提权整体不可用
  • 发现多余账号立即删除,未确认被计划任务或应用引用,服务随之启动失败
  • 只查空口令不查登录外壳,服务账号仍可交互登录,暴露面实际没有收敛
  • 把重复编号账号当成无害的历史遗留,权限归属混乱会让审计结论失去意义

数据来源与参考

  • man 5 passwd
  • man 5 shadow
  • 等保 2.0 测评项(身份鉴别)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌