[room] Восстановление файлов

Michael Shigorin mike на osdn.org.ua
Сб Авг 21 09:52:38 UTC 2010


On Sat, Aug 21, 2010 at 01:09:58PM +0400, Денис Смирнов wrote:
> MS> Вот для этого и "забивания с запасом пофайлово", чтоб сперва
> MS> дополнить пустующие части непустых блоков.
> Так, стоп. Если ты файлы _удаляешь_, то тебя спасет и забивание
> всего диска.

Если _сперва_ удаляешь файлы, _потом_ забиваешь диск.

> Проблема возникает только в том случае, если есть файл,
> в хвосте которого _были_ секретные данные.  И тут тебе не
> поможет shred (ибо он убивает файл весь).

Если блок:
- был занят
- ещё отчасти занят (принадлежит тому же файлу)
и этот файл попал под shred без -x, то данных во всём этом блоке
не останется.

Если блок свободен, то его затрёт забивка ФС.

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

> И не поможет
> dd=/dev/zero of=..., ибо оно не очистит хвосты.
> Собственно лобовое решение, для каждого файла:
> а) запомнить размер файла
> б) resize вверх (при этом, AFAIR, хвост забивается нулями сам)
> в) resize назад

Эт да.

> Самое грустное в том, что все о чем мы здесь говорим для SSD
> не работает вообще.

Ну почему, на моём TRIM работает.  Не помню, в свежем util-linux
или hdparm был в контрибе скриптик для принудительного триманья.
Если же ты про erase block'и, то отчасти поможет простая замена
размера блока размером EB, хоть это почти стопроцентно и не будет
оптимально (padding всех файлов зацепит массу ненужных erase
block'ов).

PS: а пиропатроны и для SSD работают, полагаю.

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


Подробная информация о списке рассылки smoke-room