当前位置:首页 > linux > 正文内容

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

root3年前 (2020-11-23)linux520

背景:之前就有一个在我账户名下的问题程序,但是并不是我启动的,绝对不是我启动的。但是找不到原因就莫名的背起了锅。然后默默修改了密码(其实然并卵,下面详聊原理),该机器管理员把我踢出了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,由于跟自己的冲突,导致将该程序的被系统规划到我的名下了



扫描二维码推送至手机访问。

版权声明:本文由一叶知秋发布,如需转载请注明出处。

本文链接:https://zhiqiu.top/?id=50

分享给朋友:

相关文章

docker 日志查看

通过如下命令来获取容器的日志地址 docker inspect --format '{{.LogPath}}' 97069f94437bcat命令查看上述命令找到的日志地址cat /...

Cannot uninstall 'ipaddress'. It is a distutils installed project and thus

强制升级:sudo pip install --ignore-installed +模块名...

linux 更换apt的源

sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list将archive.ubunt...

修改系统server文件需要加载一下配置

vim /usr/lib/systemd/system/*.service修改了server的配置需要执行一下systemctl daemon-reload让系统重新加载以下配置,尤其是server中的配置地址更换了分区...

Linux下查看系统版本信息

 Linux下如何查看版本信息, 包括位数、版本信息以及CPU内核信息、CPU具体型号等等,整个CPU信息一目了然。   1、# uname -a   (Linux查看版本当前操作系统内核信息)&nb...

破解zip压缩文件 pyzipper模块

zFile pyzipper.() zFile.(.())...