На одном из моих серверов была взломана учетная запись пользователя, где хакер запустил несколько спамовых двоичных файлов. Прежде чем убить процессы, я хотел бы сделать их копию, но когда я
tar czf 30333.tar.gz /proc/30333
все файлы пусты.
Вопрос
Как мне сделать копию /proc/30333
?
Вот один скрипт, который позволяет ограничить размер сохраняемых файлов (здесь 32 или 64 Мб в зависимости от оболочки ) :
PID=30333
ulimit -f 65536
cd /proc/$PID || exit 1
find . -type d -exec sh -c 'mkdir -p /tmp/proc/$PID/$1' sh {} \;
find . -type f -exec sh -c 'cat $1 > /tmp/proc/'$PID'/$1' sh {} \;
tar czf /tmp/$PID.tgz /tmp/proc/$PID
rm -rf /tmp/proc/$PID
/proc
является виртуальной файловой системой и не имеет файлов actual, а содержит информацию о процессах, запущенных в системе.
Убедитесь, что /proc/30333/exe
включено в то, что вы копируете. Не только симлинк, но и реальный исполняемый файл, на который он указывает.
Образы памяти также могут быть полезны. Вы можете создать дамп ядра, набрав:
gdb
attach 30333
gcore