死亡进程导致在办公室莫名背锅后平反昭雪艰辛之路

root5个月前服务器35

背景:之前就有一个在我账户名下的问题程序,但是并不是我启动的,绝对不是我启动的。但是找不到原因就莫名的背起了锅。然后默默修改了密码(其实然并卵,下面详聊原理),该机器管理员把我踢出了root组(因为没啥程序在上面)

起因:今日突然发现一个进程的cpu占用率一直处于100%+ 居高不下,同时还发现进程启动用户是我的名字,极其尴尬。

经过:但是我并没有启动过这个程序,因为我知道我自己开的程序,就两三个,而且都是轻量级的,不可能暂用这么大的cpu资源。

于是就开始查找问题所在,但是能力有限,只能依靠背后东日大佬。

于是乎大佬开始操作。
htop 查看进程PID,已经对应的命令

启动命令是celery 对应的后面还有cron可疑单词。PID 60372

celery是py的包,通过pip list | grep -i celery  查看 是否有该包,没有发现

通过 apt list --installed | grep -i celery 查看 apt是否有该包,没有发现

crontab -l 看看定时有没有异常的东西,没有发现。

ps aux |grep celery  看看有没有celery的程序启动,发现有几个程序。 这里算是发现了有用的信息。这个时候就比较尴尬了,没有这个包但是怎么启动的。带着疑问,继续探究。

怀疑某个包依赖这个celery,去py的包区域查找

cd  /.local/lib/python2.7/site-packages  

which celery   没有发现

which celeryd  没有发现

celery   执行没有反应

celery --help  仍然没有反应

find -iname "*celery*"   让然没有查到

cd /usr/lib/

find -iname "*celery*"    还是没有任何信息

cd /proc/7019  去PID 的工作目录

发现了  cwd 是sentry ,是sentry 启动的。其实到这个时候我东日大佬已经严重怀疑问题进程在docker里面,也确实如他所料

cat environ

pip version

看看环境里面确实是否有包的存在,没有发现

sudo docker ps  看看docker 

sudo docker exec -it ***_web_1 bash    进入第一个docker 看看,发现sentry 但是没有什么代码内容,也没有celery

更换下一个docker

sudo docker exec -it ****_worker_1 bash  进入第二个docker 看看,跟第一个一样。

sudo docker exec -it onpremise_cron_1 bash  第三个看名字十分可疑,cron 这个单词出现在之前的pid 程序命令中,

果然发现了可以的sentry和celery 到此处基本算是确定问题所在了。查看启动细节发现跟之前的一模一样。

通过询问该docker是其他同事启动,因该程序已经出现问题,就让他停下该docker,然后htop那个进程直接消失。


OK 现在很多人会有疑问,并不是我自己启动的,为什么docker启动程序为什么在我的名下。

大佬的正解是,查看一下你的uid

echo $UID   发现是999

大佬就给我说  docker非常喜欢用999这个uid

进入刚才的问题docker,发现sentry 就是999的uid。

linux 系统在监控的过程中是能够看到docker里的uid,由于跟自己的冲突,导致将该程序的被系统规划到我的名下了



相关文章

How to remotely monitor hosts over Telnet and SSH [Tutorial]

python ssh登录服务器In this tutorial, you will learn how to carry out basic configurations on a server wi...

办公室千兆服务器之间scp的传输速度被限制在3MB/s

服务器之间拷贝文件是十分常见的操作但是有时候会遇见一个问题,拷贝的速度是相当的缓慢。遇见问题就开始分析问题影响网络网络传输有:服务器a和b、服务器网卡A和B、网线、交换机、路由器由于服务器a和b在同一...

linux创建用户和用户组

添加用户和组groupadd testuseradd -r -g test test删除用户和组userdel testgroupdel test给文件添加用户组和用户归属chown -R test:...

contos yum install ** 提示没有可用软件包

yum install -y epel-release#添加一个epel的三方源,据说新大全在执行yum install ***...

FTP主动模式和被动模式的区别

基础知识:  FTP只通过TCP连接,没有用于FTP的UDP组件.FTP不同于其他服务的是它使用了两个端口, 一个数据端口和一个命令端口(或称为控制端口)。通常21端口是命令端口,20端口是...

服务查看启动

服务启动、停止和重启service   xxx  start  service   xxx  stopservice&n...