Вы находитесь в режиме поиска по сайту.
9
февраля
2021
14:12

Тщательная очистка следов файлов на диске при помощи команд SFill и DD

9 февраля 2021 14:12

Однажды мне пришлось отдать сотруднику USB флешку, на котором хранились как программы так и личные фотографии. Фотографии я удалил, но они остались в секторах и их сотрудник смог бы их восстановить, если бы захотел. Поэтому, нужен способ очистки свободного пространства на диске. Нашёл команду, как это сделать - работает с файловыми системами NTFS, FAT и EXT3. Программа командной строки называется SFill.

Выборочная очистка свободного пространства после удаления файлов при помощи команды sfill

Команда sfill позволяет выборочно уничтожать информацию на диске - очистка удаленных файлов в каталоге INODE и оставшихся после удаления следов файлов в свободной части диска.

  1. Установить sfill

sudo apt-get install secure-delete

  1. Прочитать документацию (желательно)

dpkg-query -L secure-delete
gzip -dc /usr/share/doc/secure-delete/secure_delete.doc.gz | more

Формат команды:
sfill [-i] [-I] [-f] [-l] [-l] [-v] [-z] target-directory
где
-i затереть только свободное пространство inode (уничтожение удаленных каталогов)
-I уничтожить только свободное пространство (не затрагивая каталогов inode)
-f быстрая запись (исключает команды O_SYNC и sync()) что ускоряет работу, но менее надёжно
-l ослабление безопасности в угоду скорости. Используются только проход случайными числами и затем второй проход 0xFF
-l дальнейшее ослабление безопасности и повышение скорости - лишь один проход, который затирает диск 0xFF
-v вывод информации о ходе выполнения (verbose)
-z вместо случайных данных используются нули (zero)
target-directory - целевой каталог для очистки (обычно - корневой каталог диска)

  1. Узнать имя каталога, который собираемся очищать

lsblk

  1. Запустить очистку диска или каталога

Например, быстрая очистка флешки

lsblk
sfill -fllvz /media/vladimir/8C3E-FFF0

Сообщение "Warning: you are not root. You might not be able to wipe the whole filesystem." игнорируем.

Во время выполнения видно, что создается большой файл oooooooo.ooo, размером со свободное пространство диска, состоящий из нулей.

Вначале удаляются файлы затем удаленные каталоги: "Wiping inodes ... Done ... Finished".

Команду можно запускать также и с административными правами (пользователя root):

sudo sfill -fllvz /media/vladimir/8C3E-FFF0

NB: В команде используется имя каталога, а не физического устройства.

Как сделать полную очистку диска средствами ОС Linux - команда dd

Способ 1:

sudo dd if=/dev/zero of=/dev/sdb bs=1M

где sdb - имя устройства.

Диск будет заполнен нулями (0x00)- затрется таблица разделов, область файлов и свободное место.

Недостаток данного способа очистки очевиден - нельзя выборочно очистить только свободное место, оставив на диске какие-либо нужные файлы.

Способ 2:

sudo dd if=/dev/urandom of=/dev/sdb bs=1M

То же самое что способ 2, но заполняются случайными числами 0xda 0x02 и т.д.. Недостаток у способа один - неизбирательное удаление, и уничтожение разметки диска.
Преимущество - максимальная скорость очистки диска.

Способ 3:

Имена разделов можно узнать, например, при помощи команды
df -h | grep /sd

Команда для очистки выбранного раздела:

dd if=/dev/zero of=/dev/sdb1 bs=1M

Будет быстро очищен только выбранный том (раздел) sdb1.

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

Как создать разделы и отформатировать чистый диск средствами Linux

sudo apt-get install gparted
sudo gparted

Подробное описание работы с утилитой gparted приведено с статье https://pingvinus.ru/note/harddrive-format-ubuntu-linux.

Комментарии: 0


Похожие публикации