Сервер в кармане, или просто о сложном!

главная - Статьи - Linux, FreeBSD

Стереть информацию с диска в Linux

Теги: Linux Удаление данных

Ниже не рассматриваются методы удаления следов открываемых на компе документов, а рассматривается простая задача "в лоб": предотвратить возможность восстановления удаленных файлов с помощью командной строки Linux.

Стирание данных можно разделить на задачи:

1. зачистка свободного места:

# dd if=/dev/zero of=/null-file bs=1024
# rm -f /null-file

dd - широко известная утилита для копирования данных. Параметры: if - источник (в данном случае это генератор случайных чисел /dev/zero), of - конечный файл.

Этот способ предотвращает возможность восстановления удаленных ранее данных, но не затрагивает существующие. Первая команда создает файл /null-file, который заполняет текущий диск до предела пустыми данными, вторая команда удаляет этот ненужный файл. Способ хорош для HDD, но не дает гарантированного успеха для SSD или USB, т.к. флеш-устройства имеют недоступные для записи пользователем блоки памяти, используемые устройством в работе (дело в не в правах доступа user или root, а имеется в виду, что держатель девайса не может считывать/записывать данные из спец. памяти. Справедливости ради надо сказать, что восстановить удаленные файлы с SSD даже после переформатирования мне не удавалось ни разу. Но все же гарантии никто не дает.

2. стирание всех данных со всего диска (ну или отдельного раздела диска):

# shred --iterations 3 -z -v /dev/sdd1

Вообще, конечно, man shred, но в данном примере:

  • --iterations 3 - 3 прохода;
  • -z -  шлифануть дополнительно нулями (чтобы скрыть факт зачистки);
  • -v - ход процесса;
  • /dev/sdd1 - диск.

Нюансы полного удаления данных аналогичны предыдущему пункту.

Авторизуйтесь для добавления комментариев!


    забыли пароль?    новый пользователь?