Уничтожение данных в Linux

Уничтожение данных в Linux

Sam Sepiol

Вы правы — при обычном удалении файлов они на самом деле не удаляются. Удаляются только записи о них из таблицы каталога, при этом содержимое файлов остается именно там, где они были созданы. Перезаписать файлы недостаточно, так как во многих файловых системах при перезаписи файла сначала записывается новая копия файла, а затем просто обновляется таблица каталогов — с тем, чтобы она указывала на новую версию; данные же остаются на диске.

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

$ sudo rm -fr /home/*
$ sudo dd if=/dev/zero of=/home/nothing bs=4k

Эта команда примется записывать нули в файл home/nothing — до тех пор, пока файловая система не заполнится; и перезапишет все пространство, используемое другими данными.


Нередко ведутся дискуссии о том, достаточно этого или нет. Рассказываются всяческие истории о сложных устройствах и способах, с помощью которых можно восстановить данные даже после полного обнуления. Однако на самом деле сделать это стало гораздо сложнее, чем раньше, поскольку данные на дисках размещаются всё с большей плотностью; но если Вы всё равно беспокоитесь, замените /dev/zero на /dev/urandom в приведенной выше команде, чтобы заполнить диск псевдослучайными данными. Не используйте /dev/random, это заставит Вас принять участие в создании энтропии для случайных данных, и Вы устанете двигать мышью, заполняя данными диск при личного размера. Затем удалите созданный файл и повтори те этот процесс еще несколько раз.

Тогда будут уничтожены все данные из раздела home, но как насчет файлов паролей в таких каталогах, как /etc? Для полной надежности сделайте копию всех важных данных, которые включают такие каталоги, как /etc, на ряду с home (если у Вас есть место, сделайте полный образ диска программой Clonezilla). После этого можно очистить весь диск командой:

$ sudo dd if=/dev/zero of=/dev/sdX bs=4k

где /dev/sdX — это Ваш диск.

Предварительно проверьте правильность команды, так как dd не спросит Вас ни о чем; после нажатия клавиши Enter обратной дороги уже не будет.

Если это системный диск, запустите команду с live CD и используйте /dev/urandom как указано выше, если Вам требуется дополнительное спокойствие.

Если Вам нужно полное спокойствие, всегда есть Live CD Darik’s Boot and Nuke (DBAN), который сделает для уничтожения данных всё возможное, кроме разве что проделывания дырок в дисках.


Report Page