0

0

Linux系统账户UID 0 唯一性检查及后门排查

舞夢輝影

舞夢輝影

发布时间:2026-03-14 16:15:12

|

621人浏览过

|

来源于php中文网

原创

Linux系统中UID 0账户不止root,需立即排查所有UID 0用户:执行awk -F: '$3==0{print $1":"$3":"$6":"$7}' /etc/passwd筛选,确认是否为合法应急账户、工具误配或攻击者植入;警惕useradd -o绕过校验;检查空密码($2=="")及异常UID 0进程。

linux系统账户uid 0 唯一性检查及后门排查

UID 0 账户不止 root?立刻查清所有特权用户

Linux 系统中 UID 0 拥有等同于 root 的全部权限,但 /etc/passwd 里可以存在多个 UID 0 的账户——这不是 bug,是 POSIX 允许的行为。一旦出现非 root 的 UID 0 用户(比如 adminbackup 或拼写错误的 rrot),极大概率是后门或配置失误。

执行这条命令快速筛出所有 UID 0 账户:

awk -F: '$3 == 0 {print $1 ":" $3 ":" $6 ":" $7}' /etc/passwd

正常情况只应输出类似 root:0:/root:/bin/bash。若有多行,每一行都需人工确认来源:
– 是运维手动添加的应急账户?
– 是某自动化工具(如 Ansible playbook、Puppet 模块)误配?
– 还是攻击者通过 useradd -u 0 -o 植入的隐蔽账户?

警惕 useradd -o 的绕过行为

useradd -o 参数允许创建重复 UID 的用户,它不校验唯一性,也不报错,是排查中最容易被忽略的入口点。很多安全扫描工具默认不告警此操作,但系统日志里其实留痕。

  • 检查命令历史:history | grep "useradd.*-o"
  • 查看认证日志中可疑新增:lastlog | awk '$3 != "Never" && $1 !~ /^(root|sync|shutdown|halt)$/ {print $1}' | head -10
  • 比对 /etc/shadow 中密码字段:UID 0 非 root 账户若密码哈希为空(::)或为已知弱哈希(如 $1$ 开头旧 MD5),风险极高

systemd 环境下隐藏 UID 0 进程更难发现

传统 ps aux | grep root 会漏掉以 UID 0 运行但用户名非 root 的进程——因为 ps 默认显示的是 /proc/[pid]/status 中的 Uid: 字段,而用户名来自 /etc/passwd 映射。若该 UID 在 passwd 中对应的是伪装账户,ps 仍会显示那个名字,造成误判。

更可靠的方式是直接读取 UID 数值:

PixVerse
PixVerse

PixVerse是一款强大的AI视频生成工具,可以轻松地将多种输入转化为令人惊叹的视频。

下载
ps -eo uid,comm,args | awk '$1 == 0 && $2 != "systemd" && $2 != "kthreadd" {print}'

注意:
systemdkthreadd 是内核线程,UID 0 属正常
– 若看到 bashncpython3sshd 等用户态进程 UID 为 0,且不属于 root 用户启动的会话,基本可判定异常
– 这类进程常驻在后台、父 PID 为 1,且无对应 tty,用 lsof -nP -p [PID] 查其打开的网络端口和文件

/etc/passwd 第二字段(密码占位符)为空 ≠ 无密码

/etc/passwd 第二字段是密码占位符,现代系统通常为 x*,表示密码存于 /etc/shadow。但若此处是空(::),代表该账户**无需密码即可登录**——这对 UID 0 账户是灾难性的。

检查方式:

awk -F: '$3 == 0 && $2 == "" {print $1}' /etc/passwd

这种账户可通过 su - <username> 或 SSH(若 PermitEmptyPasswords yes)直接提权,且不会在 /var/log/auth.log 中留下密码失败记录。修复不是简单删掉账户,而是先确认是否被用于合法服务(比如某些嵌入式 init 脚本),再决定禁用(usermod -L)、锁定(passwd -l)或彻底删除(userdel)。

真实环境中,UID 0 多账户往往藏在批量脚本、容器镜像构建层、或 CI/CD 流水线的临时用户创建步骤里;人工肉眼扫 /etc/passwd 不够,得把检查逻辑固化进主机配置审计流程里。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

193

2023.09.27

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

19

2026.02.03

线程和进程的区别
线程和进程的区别

线程和进程的区别:线程是进程的一部分,用于实现并发和并行操作,而线程共享进程的资源,通信更方便快捷,切换开销较小。本专题为大家提供线程和进程区别相关的各种文章、以及下载和课程。

766

2023.08.10

磁盘配额是什么
磁盘配额是什么

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

1564

2023.06.21

如何安装LINUX
如何安装LINUX

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

716

2023.06.29

linux find
linux find

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

300

2023.06.30

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

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

801

2023.07.05

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

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

588

2023.07.06

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

26

2026.03.13

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号