目录结构中etc/passwd怎么解析各字段含义以排查隐藏的后门账号

秋敏小哥_4044

秋敏小哥_4044

2026-08-27

1006人浏览

原创

/etc/passwd是linux用户身份登记簿,不存真实密码但定义登录权限;排查后门需逐字段核查:用户名异常、uid=0非root、密码字段含哈希、shell可登录而主目录为/或/tmp、gecos为空等均为高危特征,须结合/etc/shadow验证一致性。

目录结构中etc/passwd怎么解析各字段含义以排查隐藏的后门账号

/etc/passwd 是 Linux 用户身份的“登记簿”,但不是密码本——它本身不存真实密码,却可能被攻击者利用添加异常账户。排查后门账号,关键不是看“有没有密码”,而是看字段组合是否违背常规逻辑。下面直击重点,告诉你怎么拆、怎么看、怎么判。

先确认 passwd 文件结构:7 字段冒号分隔

每行格式固定为: `用户名:密码占位符:UID:GID:GECOS:主目录:登录Shell` ⚠️ 注意:第 7 字段(shell)可能带参数(如 `/bin/bash -i`),解析时不能简单按 `:` 切一刀就完事;第 5 字段(GECOS)含逗号但不破坏字段数,无需额外处理。

典型正常行:
alice:x:1001:1001:Alice Smith:/home/alice:/bin/bash
典型可疑行:
xdrk:$1$abc123:0:0::/:/bin/sh

逐字段筛查后门特征

  • 用户名字段(第1列):检查是否异常简短(如 adm、sys)、拼写怪异(z0mb13、_svc)、或刻意模仿系统用户(ro0t、binx)。禁止出现 :、空格、制表符——这些会导致解析错位,本身就是篡改痕迹。
  • 密码占位符(第2列):正常应为 x 或 *;若出现 $1$、$6$、$y$ 等哈希前缀,说明密码被硬编码进 passwd(绕过 shadow 机制),属高危行为;!! 表示账户禁用,但若搭配 UID=0 就需警惕。
  • UID/GID(第3、4列):UID=0 只应属于 root;若其他用户名 UID=0(如 backup:x:0:0::/root:/bin/bash),即提权后门;UID 1–999 多为系统服务账户,但若其 shell 不是 /usr/sbin/nologin 或 /bin/false,而设为 /bin/bash,就可能被用于登录。
  • GECOS(第5列):空值(::)常见于恶意账户;若内容明显伪造(如 Hacker@2026、test:123:456)或含可疑路径/命令片段,值得标记。
  • 主目录(第6列):必须是绝对路径;若为 /、/tmp、/dev/shm 或不存在的路径(如 /var/empty/xxx),尤其搭配可登录 shell,属典型隐蔽入口。
  • Shell(第7列):合法 shell 应在 /etc/shells 中存在;若为 /bin/sh、/usr/bin/python3、/usr/lib/git-core/git-shell 等非交互式或非常规解释器,需查证用途;/sbin/nologin 和 /bin/false 是安全信号,但若 UID=0 却配了它们,也可能是在掩盖真实意图。

用命令快速筛出高危线索

不依赖肉眼翻页,直接执行这几条:

妙刷AI
妙刷AI

妙刷AI是一款面向图片改造、风格转换和视频创作的 AI 视觉生成工具。

下载
  • 找 UID=0 但不是 root 的账号:
    awk -F: '$3 == 0 && $1 != "root" {print}' /etc/passwd
  • 找 shell 可登录且主目录异常的普通用户:
    awk -F: '$7 ~ /^\/bin\/|\/sbin\/bash|\/bin\/sh$/ && ($6 == "/" || $6 ~ "^/tmp|^/dev") {print}' /etc/passwd
  • 找密码字段含哈希而非 x/* 的行:
    grep -E '^[^:]*:(\$[1256ya]|!)\$' /etc/passwd
  • 找 GECOS 为空且 shell 可用的账户:
    awk -F: '$5 == "" && $7 !~ /nologin|false/ {print}' /etc/passwd

关联 /etc/shadow 验证一致性

仅看 passwd 不够——后门常配合 shadow 篡改。检查两文件用户名是否一一对应:
comm -3 <br> 输出非空,说明有账户只在 passwd 里(shadow 缺失 → 可能被禁用但未删)或只在 shadow 里(passwd 缺失 → 账户不可见,极可疑)。

再看 shadow 中对应账户的第 2 字段:
若 passwd 中某用户 shell 可登录,但 shadow 中该用户密码字段为 ! 或 !!,说明账户被锁——合理;
若为 * 且 passwd 中 shell 可登录,则无法认证,属配置矛盾,可能掩盖异常。

不复杂但容易忽略

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3670

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3193

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2253

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5410

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5082

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3033

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2545

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2759

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

ubuntu官方总文档
ubuntu官方总文档

共0课时 | 0人学习

Linux man-pages 项目
Linux man-pages 项目

共0课时 | 0人学习