Я читал, что когда вы удаляете файл, в зависимости от ситуации его содержимое можно восстановить.
Что происходит на аппаратном уровне, когда вы «удаляете» файл, например. $ rm myFile
в отличие от безопасного измельчения, напр. $ shred myFile
что делает "удаленный" файл потенциально восстанавливаемым?
Все, что происходит, - это то, что вы уменьшаете количество ссылок в файле на одну. Если счетчик ссылок достигает нуля, пространство на диске помечается как доступное для повторного использования, но не перезаписывается немедленно.
Это может укусить вас двумя способами:
1) Если количество ссылок файла изначально не равнялось 1, операция удаления на самом деле не является удалением, это просто отключение ссылки. Таким образом, содержимое файла по-прежнему полностью доступно по другому пути. (Предполагая, что файловая система достаточно современная, например NTFS.)
2) Даже если счетчик ссылок файла становится равным нулю, часть диска, на которой хранились данные файла, по-прежнему содержит данные файла, пока у системы не появится причина записать туда что-то еще.
При безопасном измельчении файла данные перезаписываются случайными данными, нулями и т.п. Таким образом, даже если данные в файле все еще каким-то образом доступны, это уже не те данные, которые вам нужны.
Обратите внимание, что для твердотельных накопителей и файловых систем с расширенными функциями, такими как регистрация и сжатие данных, даже измельчения может быть недостаточно.