Как сделать копию /proc/xxxx? [закрыто]

На одном из моих серверов была взломана учетная запись пользователя, где хакер запустил несколько спамовых двоичных файлов. Прежде чем убить процессы, я хотел бы сделать их копию, но когда я

tar czf 30333.tar.gz /proc/30333

все файлы пусты.

Вопрос

Как мне сделать копию /proc/30333?

1
задан 5 June 2014 в 21:48
4 ответа

Вот один скрипт, который позволяет ограничить размер сохраняемых файлов (здесь 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
2
ответ дан 3 December 2019 в 17:07

/proc является виртуальной файловой системой и не имеет файлов actual, а содержит информацию о процессах, запущенных в системе.

.
1
ответ дан 3 December 2019 в 17:07

Solution

cp -r /proc/30333 /root
tar czf /root/30333.tar.gz /root/30333
1
ответ дан 3 December 2019 в 17:07

Убедитесь, что /proc/30333/exe включено в то, что вы копируете. Не только симлинк, но и реальный исполняемый файл, на который он указывает.

Образы памяти также могут быть полезны. Вы можете создать дамп ядра, набрав:

gdb
attach 30333
gcore
1
ответ дан 3 December 2019 в 17:07

Теги

Похожие вопросы