Восстановление октрытых файлов но удаленных c файловой системы linux/freebsd

от автора

Всех с прошедшим новым годом!
В этой заметке я бы хотел поделиться как можно восстановить отыкрытый файл в linux/freebsd.

Предыстория

Зашел человек на канал посвященный debian в jabber и сказал что взломали его jabber-bot и выполнили комманду:

$ rm -rf /*

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

Восстанавливаем файл

Первым делом нам нужно убедиться что у нас стоит приложение lsof и примонтирован procfs в /proc.
В этой заметке я буду считать что на системе где будут востанавливаться открытые файлы все нужные приложения стоят, root доступ есть, всё примонтировано как нужно.

Первым делом нам нужно найти открытый файл с помощью программы lsof:

$ sudo lsof | grep filename

Пример:

$ sudo lsof | grep /home/anton/.xsession-errors kwin       2031  2040     anton    2w      REG              253,3    4486557    1835028 /home/anton/.xsession-errors

Нас интересуют вот эти значения:

  • Номер процеса (pid)
  • Номер открытого файла

Сдесь я выделю жирным что нужно:

kwin 2031 2040 anton 2w REG 253,3 4486557 1835028 /home/anton/.xsession-errors

Дальше восстанавливаем его (вы можете также его сохранить в другом месте):

$ sudo cp /proc/2031/fd/2 /home/anton/.xsession-error

На этом всё, так можно восстановить открытый файл, но который по какой-то причине был удален.

ссылка на оригинал статьи http://habrahabr.ru/post/208104/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *