- 3 способа навсегда и безопасно удалить файлы и каталоги в Linux
- 1. Уничтожить — перезаписать файл, чтобы скрыть содержимое
- 2. Wipe — безопасное стирание файлов в Linux
- 3. Инструментарий безопасного удаления для Linux
- 4. sfill -Secure Free Disk/Inode Space Wiper
- 5. sswap — безопасный очиститель свопа
- 6. sdmem — безопасная очистка памяти
- Безвозвратное удаление файлов в Linux
- Примеры запуска Shred
- Безвозвратное удаление файла
- Стирание всей информации с HDD
- Безвозвратное удаление каталога
- Как безопасно стереть файл при помощи shred
- Что собой представляет команда shred в Linux?
- Синтаксис команды shred
- Чем shred отличается от rm?
- Как работает команда shred?
- Когда стоит использовать команду shred?
- Примеры применения shred
- Как перезаписать и удалить файл при помощи shred
- Результат
- Как стереть раздел диска при помощи shred
- Когда команда shred неэффективна?
- Итоги
3 способа навсегда и безопасно удалить файлы и каталоги в Linux
В большинстве случаев средства, которые мы используем для удаления файла с наших компьютеров, такие как использование ключа Delete , файлов корзины или команды rm , которые не удаляют файл навсегда и безопасно из жесткий диск (или любой носитель информации).
Файл просто скрыт от пользователей и находится где-то на жестком диске. Его могут восстановить похитители данных, правоохранительные органы или другие угрозы.
Если файл содержит засекреченное или секретное содержимое, такое как имена пользователей и пароли системы безопасности, злоумышленник, обладающий необходимыми знаниями и навыками, может легко восстановить удаленную копию файла и получить доступ к этим учетным данным пользователя (и вы, вероятно, можете догадаться о последствиях такого сценария).
В этой статье мы объясним ряд инструментов командной строки для безвозвратного и безопасного удаления файлов в Linux.
1. Уничтожить — перезаписать файл, чтобы скрыть содержимое
shred перезаписывает файл, чтобы скрыть его содержимое, а также может при желании удалить его.
$ shred -zvu -n 5 passwords.list
В приведенной ниже команде параметры:
- -z — добавляет окончательную перезапись нулями, чтобы скрыть уничтожение.
- -v — включает отображение хода выполнения операции
- -u — усекает и удаляет файл после перезаписи
- -n — указывает, сколько раз перезаписывать содержимое файла (по умолчанию 3)
Вы можете найти больше вариантов использования и информацию на справочной странице shred:
2. Wipe — безопасное стирание файлов в Linux
Команда Linux wipe надежно стирает файлы из магнитной памяти, что делает невозможным восстановление удаленных файлов или содержимого каталога.
Во-первых, вам нужно установить инструмент очистки, для этого выполните соответствующую команду ниже:
$ sudo apt-get install wipe [On Debian and its derivatives] $ sudo yum install wipe [On RedHat based systems]
Следующая команда уничтожит все в каталоге private.
- -r — указывает очистке выполнить рекурсию в подкаталогах
- -f — включает принудительное удаление и отключает запрос подтверждения
- -i — показывает ход процесса удаления
Примечание. Очистка надежно работает только с магнитной памятью, поэтому используйте другие методы для твердотельных дисков (памяти).
Прочтите справочную страницу wipe, чтобы узнать о дополнительных параметрах использования и инструкциях:
3. Инструментарий безопасного удаления для Linux
Secure-delete – это набор инструментов для безопасного удаления файлов, содержащий инструмент srm (secure_deletion), который используется для безопасного удаления файлов.
Сначала вам нужно установить его, используя соответствующую команду ниже:
$ sudo apt-get install secure-delete [On Debian and its derivatives] $ sudo yum install secure-delete [On RedHat based systems]
После установки вы можете использовать инструмент srm для безопасного удаления файлов или каталогов в системе Linux следующим образом.
- -v — включает подробный режим
- -z — затирает последнюю запись нулями вместо случайных данных
Прочтите справочную страницу srm, чтобы узнать больше о возможностях использования и информации:
4. sfill -Secure Free Disk/Inode Space Wiper
sfill является частью набора инструментов secure-delete, представляет собой безопасную очистку свободного места на диске и в индексном узле, он безопасно удаляет файлы на свободном месте на диске. sfill проверяет свободное место на указанном разделе и заполняет его случайными данными из /dev/urandom.
Приведенная ниже команда выполнит sfill в моем корневом разделе с переключателем -v , включив подробный режим:
$ sudo sfill -v /home/aaronkilik/tmp/
Предполагая, что вы создали отдельный раздел /home для хранения домашних каталогов обычных системных пользователей, вы можете указать каталог в этом разделе, чтобы применить к нему sfill:
$ sudo sfill -v /home/username
Вот несколько ограничений sfill, о которых вы можете прочитать на справочной странице, где вы также можете найти дополнительные флаги и инструкции по использованию:
Примечание. Следующие два инструмента (sswap и sdmem) в разделе безопасного удаления набор инструментов не имеют прямого отношения к предмету данного руководства, однако мы объясним их для ознакомительных целей и использования в будущем.
5. sswap — безопасный очиститель свопа
Это безопасный стиратель разделов, sswap безопасно удаляет данные, присутствующие в вашем разделе подкачки.
Внимание: не забудьте размонтировать раздел swap перед использованием sswap! В противном случае ваша система может рухнуть!
Просто определите, что вы подкачиваете раздел (и проверьте, включены ли подкачка и подкачка устройств/файлов с помощью команды swapon), затем отключите подкачку и подкачку устройств/файлов с помощью команды swapoff ( делает раздел подкачки непригодным для использования).
Затем выполните команду sswap для раздела подкачки:
$ cat /proc/swaps $ swapon $ sudo swapoff /dev/sda6 $ sudo sswap /dev/sda6 #this command may take some time to complete with 38 default passes
Приложите усилия, чтобы прочитать справочную страницу sswap для получения дополнительных вариантов использования и информации:
6. sdmem — безопасная очистка памяти
sdmem – это безопасное средство очистки памяти, предназначенное для безопасного удаления данных, находящихся в вашей памяти (ОЗУ).
Первоначально он назывался smem — отчет о потреблении памяти для каждого процесса и пользователя, разработчик решил переименовать его в sdmem.
Для получения дополнительной информации об использовании прочитайте справочную страницу sdmem:
Вот и все! В этой статье мы рассмотрели ряд инструментов командной строки для окончательного и безопасного удаления файлов в Linux. Как обычно, предлагайте свои мысли или предложения по поводу поста через форму комментариев ниже.
Безвозвратное удаление файлов в Linux
Если вам нужно безвозвратно удалить файл/каталог или же затереть весь жесткий диск, то вам подойдет утилита Shred.
Удаляя файл командой rm или через файловый менеджер, сам файл не удаляется, а затирается лишь его индекс, а пространство, которое занимал файл, помечается системой как свободное для записи. По факту файл так и остается на своём месте и восстановить его оттуда не составит большого труда. Он пролежит там до тех пор, пока на его место вы не будет записана другая информация.
Shred случайными числами заполняет место, занятое файлом. И уже, даже восстановив ваш удалённый файл, его будет невозможно прочитать. По умолчанию shred не удаляет файл, для этого используется параметр —remove (-u).
Примеры запуска Shred
Безвозвратное удаление файла
Удалить файл passwords.txt:
-z — в конце перезаписать нулями, чтобы скрыть то, что вы зачищали файл;
-v — показывать ход выполнения;
-u — обрезать и удалить файл после перезаписи;
5 — переписать 5 раз (по умолчанию — 3).
Стирание всей информации с HDD
-f — изменять права, разрешая запись, если необходимо;
-v — показывать информацию о ходе выполнения;
-z — в конце перезаписать нулями, чтобы скрыть то, что вы зачищали жесткий диск, либо его раздел.
Безвозвратное удаление каталога
К сожалению, Shred не умеет удалять каталоги. Чтобы удалить каталог нам поможет утилита wipe:
Как безопасно стереть файл при помощи shred
Удаление файлов и форматирование дисков — распространенная задача. Linux предоставляет много утилит для удаления файлов в командной строке.
Самые используемые команды для удаления файлов и директорий — rm и rmdir соответственно. В этой статье мы познакомимся с другой командной — shred. С ее помощью можно стирать диски и удалять файлы безопасным образом.
Что собой представляет команда shred в Linux?
Команда shred позволяет несколько раз перезаписывать данные в одном и том же месте. Такая перезапись затрудняет восстановление данных при помощи сторонних программ и оборудования. Поэтому данная команда широко используется для безопасного удаления файлов.
Синтаксис команды shred
# Стирание файла shred [OPTION] filename # Стирание диска; path нужно заменить на путь вашего диска shred -vfz [/file/system/path]
Согласно странице man, с командой shred можно использовать несколько опций, например:
Вы можете перезаписать данные N раз вместо 3, принятых по умолчанию
Принудительное изменение прав доступа, при необходимости разрешающее запись
Вывод подробной информации о выполнении
Обрезка и удаление файла после перезаписи.
Чем shred отличается от rm?
Используя rm , вы просто удаляете указатель на файловую систему. Данные как таковые могут все еще оставаться там. А это значит, что существует возможность их восстановления.
Но когда вы используете команду shred , файл перезаписывается указанное число раз, делая содержимое файла невосстановимым.
Еще одно различие команд заключается в скорости их выполнения. Обычно rm работает быстрее, чем shred . Это и понятно: shred нужно перезаписать файл несколько раз перед удалением. Скорость работы этой команды будет зависеть и от количества итераций, и от размера файла (диска). А rm просто удаляет указатель на файловую систему.
Как работает команда shred?
По умолчанию команда shred прогоняет файл через три итерации перезаписи. Число итераций можно изменить при помощи опции -n .
Когда стоит использовать команду shred?
Применяйте shred для удаления конфиденциальных данных. Этой командой могут часто пользоваться системные администраторы, команды IT-криминалистов и специалисты по информационной безопасности.
Примеры применения shred
ВНИМАНИЕ! Прежде чем запускать любой из примеров в своей системе, убедитесь, что у вас есть бэкап вашего файла и файловой системы. Пожалуйста, будьте осторожны: удаленные данные будет невозможно восстановить!
Как перезаписать и удалить файл при помощи shred
У нас есть файл poem.txt со следующим контентом:
Давайте перезапишем его содержимое трижды (поведение shred по умолчанию):
Опция -v нужна для подробного вывода.
Давайте еще раз посмотрим содержимое файла:
Мы видим, что текст в файле был изменен и стал нечитаемым.
Теперь мы можем безопасно удалить этот файл, выполнив rm poem.txt .
Но команду shred можно использовать более эффективно: мы можем перезаписать контент, скрыть перезапись и удалить файл одной командой. Давайте изменим нашу команду и запустим ее:
- -v обеспечивает подробную информацию о выполнении команды
- -z заменяет итоговый путь нулями для скрытия шреддинга
- -u удаляет файл после перезаписи, т. е. нам не придется запускать следом rm
- -n изменяет количество итераций перезаписи (мы поставили 5 вместо 3).
Результат
На скрине снизу видно, что файл был перезаписан 5 раз. На финальной (дополнительной) итерации файл был перезаписан исключительно нулями (это благодаря добавлению опции -z ). При удалении файла также изменялось его имя, благодаря чему его невозможно будет найти после шреддинга.
Как стереть раздел диска при помощи shred
Предположим, вы хотите продать свой диск и вам нужно его почистить. С помощью shred вы можете стереть весь диск:
# /dev/sde замените на вашу точку монтирования sudo shred -vfz /dev/sde
- -v обеспечивает подробную информацию о выполнении команды
- -f обеспечивает принудительное добавление права на запись, если оно пропущено
- -z перезаписывает содержимое диска нулями на последней итерации перезаписи
Команду shred также можно применять к RAID-разделам:
Когда команда shred неэффективна?
В некоторых случаях применять shred нецелесообразно. Например, когда речь идет о:
- журналируемых файловых системах, например, поставляемых с AIX и Solaris (а также JFS, ReiserFS, XFS, Ext3 и т. д.)
- файловых системах, записывающих избыточные данные, например файловых системах на основе RAID
- файловых системах, которые делают снапшоты. Примеры: NFS-сервер Network Appliance.
- файловых системах, поддерживающих кэширование во временных локациях, например клиенты NFS версии 3.
- сжатых файловых системах.
Итоги
Команда shred обеспечивает невозможность восстановления данных в файле. Если не учитывать некоторые исключения, shred удаляет файлы лучше и безопаснее, чем rm.