Как безопасно удалить файлы с помощью команды Shred в Debian 11
Если у вас есть файл с конфиденциальной информацией, может быть недостаточно просто удалить его с помощью команды rm или нажать клавишу «Delete». Удаление файла с помощью команды rm обычно удаляет его только из нашего каталога. Удаленный файл остается на диске и может быть восстановлен и использован злоумышленником с необходимыми навыками.
В Linux вы можете использовать команду shred для безопасного удаления файлов, неоднократно перезаписывая файл бессмысленными данными. Это делает восстановление исходных данных весьма трудным или практически невозможным, даже если удаленный файл будет восстановлен. Команда «Уничтожить» не только перезаписывает файл, но и удаляет его, если он указан. Вы также можете использовать его для перезаписи разделов или всего диска.
В этой статье мы объясним, как использовать команду shred в Debian 11 для безопасного удаления файлов. Эту же процедуру можно использовать и в других версиях Debian и Ubuntu. Мы также обсудили некоторые параметры командной строки.
Работа с командой Shred
Команда Shred — это одна из основных утилит GNU, доступная практически в любой системе Linux, включая Debian. Давайте посмотрим, как работать с командой shred:
Синтаксис команды уничтожения
Ниже приведен синтаксис команды уничтожения:
$вариант уничтожения
Где «ФАЙЛ» может быть файлом или любым разделом жесткого диска.
Когда вы используете команду «Уничтожить» без каких-либо опций, она несколько раз перезаписывает файл бессмысленными данными. Чтобы понять, что делает команда shred, давайте создадим тестовый файл с именем «testfile.txt» и некоторый текст в нем.
echo “this file contains some sample text” > testfile.txt
Вот как выглядит наш файл примера:
После создания файла также проверьте размер файла. Мы будем использовать его позже, чтобы сравнить его с размером измельченного файла.
ls -l testfile.txt
Теперь запустите команду уничтожения (без каких-либо параметров командной строки), а затем имя файла, который вы хотите уничтожить.
shred testfile.txt
Приведенная выше команда трижды перезапишет testfile.txt (по умолчанию). Чтобы узнать, что случилось с тестовым файлом, вызовите команду cat:
cat testfile.txt
Из вывода команды cat вы увидите только тарабарщину внутри файла.
Кроме того, если вы посмотрите размер файла, вы заметите, что он увеличился.
Параметры командной строки «Уничтожить»
Команда shred имеет несколько параметров командной строки, позволяющих расширить ее функциональные возможности. Давайте посмотрим на несколько примеров того, как работают эти опции.
Подробный вывод
Используя опцию -v или --verbose, вы можете просмотреть, что происходит в фоновом режиме.
shred -v testfile.txt
Следующий вывод показывает три прохода перезаписи файла случайными числами.
Примечание. Во всех следующих примерах мы будем использовать опцию -v для отображения вывода.
Перезаписать несколько файлов
Если у вас более одного файла, вы можете уничтожить их с помощью одной команды вместо того, чтобы уничтожать их один за другим с помощью отдельных команд. Чтобы уничтожить более одного файла, введите их все в качестве аргумента (через пробел) или используйте подстановочный знак, чтобы указать все файлы с одинаковыми расширениями.
shred -v testfile1.txt testfile2.txt testfile3.txt
Все три файла будут уничтожены за один процесс, как показано на следующем снимке экрана.
Перезаписать диски
Вы также можете использовать команду shred для перезаписи дисков и разделов. Например, чтобы перезаписать все данные в разделе /dev/sda2, команда будет такой:
sudo shred -v /dev/sda2
Перезаписать нулями
Обычно команда shred перезаписывает файл случайными данными. Однако в вашей системе будет заметно, что операция уничтожения была выполнена на этом устройстве. Вы можете скрыть процесс уничтожения, используя опцию -z или --zero команды уничтожения.
Использование команды shred с опцией -z или --zero сначала перезаписывает файл случайными числами, а затем добавляет окончательную перезапись нулями.
shred -vz testfile.txt
В приведенном выше выводе вы можете видеть, что после трехкратной перезаписи файла случайными числами клочок, наконец, перезаписал файл нулями.
Выборочно перезаписать
Команда shred трижды перезаписывает файлы случайным мусором. Чтобы увеличить количество проходов перезаписи, используйте опцию -n или --iterations.
Например, чтобы уничтожить testfile.txt за 5 проходов перезаписи, команда будет такой:
shred -vn5 testfile.txt
Перезаписать только первые x байтов
По умолчанию команда shred перезаписывает весь файл. Использование опции -s или --size с командой shred позволяет перезаписать только первые x байтов. Например, чтобы перезаписать только первые 6 байтов testfile.txt, команда будет такой:
shred -vs6 testfile.txt
Приведенная выше команда перезапишет только первые 6 байт указанного файла. Вы можете проверить это, вызвав команду cat.
Удалить файл после перезаписи
Как обсуждалось ранее, команда уничтожения перезаписывает файл только в том случае, если мы используем его без каких-либо параметров командной строки. Однако после перезаписи вы также можете удалить файл, используя опцию -u или --remove команды shred. Обратите внимание, что он также переименует файл перед удалением.
shred -vu testfile.txt
Из приведенного выше вывода вы можете видеть, что файл был окончательно удален после перезаписи и переименования.
Посмотреть справку
Чтобы найти более подробную информацию о команде shred, используйте опцию --help или посетите справочную страницу:
shred --help
Или
man shred
В этой статье вы узнали, как использовать команду shred в Debian вместе с различными параметрами командной строки. Вы видели, как команда shred перезаписывает и удаляет файлы, что затрудняет их восстановление с помощью любых инструментов восстановления.