Как безопасно удалить файлы в Linux с помощью srm

Не рекомендуется доверять удаление конфиденциальных данных стандартными инструментами Linux. Установите эту удобную команду очистки данных для более безопасного удаления.

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

На платформе Linux существует несколько возможных инструментов для данного процесса, некоторые из которых могут не зависеть от типа удаляемой информации, а некоторые надежно работают только на магнитных дисках. Поэтому, если серверы работают с твердотельными накопителями, необходимо использовать инструмент, который подходит для этой задачи. Одним из таких инструментов является набор инструментов безопасного удаления (Secure-delete Toolkit).

Secure-delete Toolkit - это набор инструментов для удаления файлов, который включает команду srm (для безопасного удаления). В этой статье ознакомимся с процессом установки и использования srm на Ubuntu Server 18.04. Инструментарий может быть легко установлен практически на любом дистрибутиве Linux из стандартных репозиториев, поэтому его установка и запуск в любом дистрибутиве будет осуществляться аналогичным образом.

Команда srm удаляет файл таким образом, что его практически невозможно восстановить. Процесс удаления проходит по следующим этапам:

  1. 1 проход с 0xff.
  2. 5 случайных проходов.
  3. 27 проходов со специальными значениями.
  4. 5 случайных проходов.
  5. Переименование файла.
  6. Усечение файла.

Установка Secure-delete Toolkit довольно проста. Откройте окно терминала и введите команду:

$ sudo apt install secure-delete -y

После завершения установки, утилиты готовы к работе.

Теперь пришло время удалить конфиденциальные файлы. Для примера создадим тестовые файлы со случайными данными для удаления. Это можно сделать с помощью команды head следующим образом:

$ head -c 10MB </dev/urandom > testfile

Приведенная выше команда создаст двоичный файл с именем testfile, который заполнен 10 мегабайтами случайных данных. Теперь давайте удалим этот файл. Мы собираемся использовать две опции:

  • v - вывод подробностей процесса выполнения.
  • z - записывает с нули вместо случайных данных.

Наша команда будет выглядеть так:

$ srm -vz testfile

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

После выполнения команды данные будут надежно удалены.

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

Если необходимо безопасно удалить целые директории, то srm сможет справиться с этой задачей. Создадим тестовый каталог с помощью команды:

$ mkdir ~/TEST

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

$ head -c 10MB </dev/urandom > ~/TEST/testfile

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

$ srm -rv ~/TEST

Заключение

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