Программы
Надежное удаление файлов в Linux, FreeBSD и MacOS

Надежное удаление файлов в Linux, FreeBSD и MacOS

Вы когда-нибудь задумывались, куда пропадают файлы, после того, как вы их удалили? Есть ли «рай» и «ад» файлов, что с ними там делают? Вообще, гуманно ли удалять файлы?

Вы когда-нибудь задумывались, куда пропадают файлы, после того, как вы их удалили? Есть ли «рай» и «ад» файлов, что с ними там делают? Вообще, гуманно ли удалять файлы?

А сталкивались ли с программами, которые «восстанавливают» файлы — этакие некроманты из мира IT! Как они работают, почему это возможно?

Ну и как сделать так, чтобы никакой некромант так и не смог восстановить то зло, которое было спрятано в папке «Корпоратив 2016″…

Думаю, вы уже ни раз удаляли файлы случайно, а потом восстанавливали их из корзины. Всё потому что они на самом деле не удаляются, а переносятся в каталог/папку/директорию «Корзина» — в разных системах она лежит в разных местах.

А теперь более интересный «ой!» — удалили важный файл из корзины. И как тогда? Да только и тут файлы не удаляются. Они как лежали на жёстком диске, так и лежат. Просто теперь у них нет названия и место, где они лежат система пометила как свободное. И даже на этом этапе их можно восстановить.

Ну хорошо, в какой-то момент система решила перезаписать эти ячейки на жёстком диске какой-то другой информацией. Да только вот физика так не думает — в местах жёсткого диска всё ещё есть «след» старых данных, эхо, доносящееся сквозь перезаписи…

Ничто не умирает, всё в каком-то виде живёт!

Поэтому, если вы вдруг решите действительно удалить файл — вам понадобится его перезаписать на много-много раз и удалить. Тогда просто не будет технических средств разобраться, что там лежало (информацию будет слишком сложно достать, но она всё ещё будет!).

В Linux, FreeBSD и MacOS для этого можно воспользоваться утилитой shred — она как шредер измельчит файлы. Её можно найти в пакете программ coreutils:

brew install coreutils

— например.

В Linux она так и называется «shred». Во FreeBSD и MacOS — «gshred» — мол GNU. Использовать её довольно просто:

sudo shred -uvz -n50 mysecretfile.txt

Что значат эти параметры:

  • -u (--remove) – урезать и удалить файл после перезаписи;
  • -n (--iterations) N – перезаписывать N раз вместо определенных по умолчанию;
  • -z (--zero) – в последний раз перезаписать файл нулями, чтобы скрыть работу программы shred.
  • -v (–-verbose) позволит вам наблюдать происходящее на экране (но обычно такое скрывают).

К сожалению утилита shred не даст ожидаемого результата на журналируемых или основанных на журналах файловых системах (JFS, ReiserFS, XFS и т.д.) а также системах, отмечающих и записывающих все операции с файлами (RAID). Там всё ещё немного сложнее…

Не знаю, спас ли я кого-то этой заметкой, но пищу для размышлений, надеюсь, дал.

Изображение Шпаргалка по командам Linux, FreeBSD и MacOS