近期手头维护的一个网站总是莫名其妙宕机,登陆服务器之后发现CPU已被MD进程100%占用,各种搜索都没有MD进程的信息,怀疑为恶意进程。着手处理。
1、查看进程运行的完整路径
CentOS在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,该文件夹下会有进程的信息,其中包括一个名为exe的文件即记录了绝对路径,通过ll或ls –l命令即可查看。
#ll /proc/PID
查到了该进程的执行文件与路径,如下图所示:
cwd符号链接的是进程运行目录;exe符号连接就是执行程序的绝对路径;cmdline就是程序运行时输入的命令行命令;environ记录了进程运行时的环境变量;fd目录下是进程打开或使用的文件的符号连接。
2、kill -9 PID之后,开始删除该文件,即上图中的/tmp/.z/md,发现超级用户root也无法删除,提示:rm: cannot remove ‘md’: Operation not permitted,想到文件可能被保护了。
3、用命令lsattr检查文件是否有保护:
#lsattr md
果然返回:
su–ia———- md
4、解除各种保护:
#chattr -i md
#chattr -su md
#chattr -a md
可以一次性解除:
#chattr -I -su -a md
再次查询保护情况:
#lsattr md
返回:
—————- md
5、清除所有进程:
#kill -9 PID
删除该文件:
#rm -rf /tmp/.z/md
处理完毕,CPU占用恢复正常。