账户核查要查什么
账户清单核查是交付验收与安全检查的常规动作,重点看四类问题:除管理账号外是否还有其他账号拥有不受限权限、是否存在编号重复的账号、是否存在空口令账号、以及本不该交互登录的系统账号是否开放了登录外壳。这四类问题都会直接放大失陷后的影响面:多一个不受限账号等于多一把万能钥匙,空口令账号等于门没锁。核查本身是只读动作,处置才需要谨慎。
基本信息
| 账号文件 | 账号与口令分别存放在两个系统文件中 |
|---|---|
| 重点之一 | 拥有不受限权限的账号是否只有预期中的那一个 |
| 重点之二 | 编号重复会造成权限归属混乱 |
| 重点之三 | 空口令账号是必须清零的高危项 |
| 重点之四 | 系统账号的登录外壳是否被收敛 |
| 权限 | 读取口令文件相关字段需 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 | 拥有不受限权限 | 仅保留预期的管理账号 |
| 编号重复 | 两个账号共享同一身份 | 不应存在,需重新分配编号 |
| 口令字段为空 | 可无口令登录 | 必须处置,清零空口令 |
| 登录外壳 | 决定能否交互登录 | 服务账号应收敛为不可登录 |
| 口令锁定标记 | 账号是否被锁定 | 停用账号应处于锁定状态 |
不要直接编辑口令文件来改状态:这类文件有严格的格式与权限要求,手工改错会让认证系统整体异常。修改口令、锁定账号、设置有效期都应使用系统提供的账号管理工具,操作前先备份相关文件。
处置账号前必须确认业务依赖:账号可能被计划任务、提权配置、数据库授权或应用配置文件引用,直接删除会让服务起不来。稳妥顺序是先锁定、观察一段时间确认无影响,再删除或改为不可登录。