Как безопасно уничтожить несвязанные файлы в файловой системе Unix?

413
leden

Сценарий:

  1. После работы с конфиденциальным файлом (например, PDF банковской выпиской), вы набрали:

    rm my-confidential-file 

    (или известное действие Shift-Delete в файловом браузере на основе GUI, например nautilus)

  2. Вы понимаете: "Ой, я должен был shredсначала использовать утилиту".

  3. Вы запускаете инструмент восстановления файлов, и вам «повезло» восстановить блок, в котором находится ваш секретный файл, а также его размер . Кроме того, ваш удаленный файл кажется неповрежденным (то есть не перезаписанным другими данными).

Теперь существует безопасный и надежный способ удаления такого несвязанного файла из вашей файловой системы, а именно:

  • вы не перепутаете другие файлы, желательно даже не журнал
  • инструмент восстановления больше не может найти файл (т.е. он перезаписан мусорными данными)

?

Меня особенно интересует файловая система ext4, но более общий подход приветствуется.

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

0
обнулить все свободное место в вашей файловой системе. Zoredache 10 лет назад 0
Что он сказал. Ноль или, чтобы быть еще более безопасным, случайным образом заполните его. Это очень много времени, но это будет работать, и это безопасно. Вы не стираете этот файл, вы стираете все файлы, которые когда-либо были удалены. Посмотрите здесь: https://superuser.com/questions/19326/how-to-wipe-free-disk-space-in-linux unkilbeeg 10 лет назад 0
@Zoredache: Ну, это работает в теории. Как вы можете сделать эту операцию синхронно с файловой системой? Вам нужно убедиться, что на протяжении всей этой длительной операции вы не делаете абсолютно никаких записей в файлы или журнал / метаданные, верно? Не могли бы вы смонтировать раздел только для чтения и каким-то образом выполнить заполнение нулями / случайными числами на низком уровне? Не кажется настолько практичным ... leden 10 лет назад 0
Честно говоря, я никогда не беспокоился об этом так сильно. Если вы беспокоитесь о безопасности и думаете, что вам нужно регулярно уничтожать файлы, тогда вам, вероятно, стоит просто зашифровать данные. Zoredache 10 лет назад 0

1 ответ на вопрос

-1
yhammad

check the scrub command (you may need to install the scrub package): http://linux.die.net/man/1/scrub example: scrub -r /location/to/file.txt

Вы читали тот факт, что файл не связан. Под этим я также подразумевал, что больше нет I-узлов / указателей на него. Таким образом, с точки зрения файловой системы путь (`location / to / file.txt`) не существует. leden 10 лет назад 0
@leden: я никогда раньше не слышал об этом "скрабе", поэтому я не ручаюсь за него, но, согласно связанной странице руководства, опция `-X` (aka` --freespace`) будет создавать файлы до файловая система заполнена, а затем очистите их. Это приводит к удалению всего свободного места в вашей файловой системе, как предлагали другие, способом, который не требует записи _directly_ в файловую систему (что может быть сложно сделать безопасно). G-Man 10 лет назад 0

Похожие вопросы