Программы
Надежное удаление файлов в 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). Там всё ещё немного сложнее…

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

Также может быть вам интересно:

Как читать вакансии

Поиск работы — это то, с чем многие сталкиваются. Об этом написано много мусорных статей в интернете: какие вопросы бывают, как составлять резюме. Почему-то принято считать, что человеку нужна работа, а не компании работник.

Читать »

Первичная настройка FreeBSD

Странно, но многие до сих пор считают, что FreeBSD — система исключительно для серверов. Как-то люди привыкли, что Linux нормально живёт на десктопах, а вот FreeBSD — мрак, консоль, Израиль.

Читать »
Фото Так ли безопасен Linux? Несколько коммитов с уязвимосятми в stable

Так ли безопасен Linux? Несколько коммитов с уязвимосятми в stable

Исследователи сумели пройти code-review с реквестами в ядро Linux, заведомо содержащими добавление уязвимостей.

Фото Маленькая книга о Go (golang)

Маленькая книга о Go (golang)

Маленькая книга о Go распространяется под лицензией Attribution-NonCommercial-ShareAlike 4.0 International license. Вы не должны платить за эту книгу.

Фото Microsoft открывает исходники, а её IDE супер-популярна

Microsoft открывает исходники, а её IDE супер-популярна

Решил сложить пару фактов и немного над этим поразмыслить. Реально ли Microsoft "переобулись"?

Фото Пример своей консольной команды в Django проекте

Пример своей консольной команды в Django проекте

Если вы работали с Django проектом, то, скорее всего, запускали команды из консоли (manage.py). В Django есть простой способ писать свои команды для управления проектом.

Фото Из Golang уберут термины whitelist/blacklist и master/slave

Из Golang уберут термины whitelist/blacklist и master/slave

На самом деле, это заметят только разработчики языка и встроенных инструментов, но почему бы об этом не написать?

Фото Зачем писать "hello world"?

Зачем писать "hello world"?

Немного размышлений об одной из самых известных программ для обучения программированию.

Фото Как на Bash получить файлы, изменённые за сегодняшний день

Как на Bash получить файлы, изменённые за сегодняшний день

Bash имеет огромные возможности по программированию/скриптованию и администрированию операционной системы. Не важно: Linux это, FreeBSD, или MacOS – на Bash можно сделать многое.

Фото Как установить часовой пояс в Linux

Как установить часовой пояс в Linux

В рамках первичной настройки Операционной Системы важно установить и по какому времени вы живёте, ведь при следующем обновлении времени через Интернет ваше время слетит.