Введение
srm (или Secure Remove) — это утилита командной строки для Unix-подобных компьютерных систем, предназначенная для безопасного удаления файлов. srm удаляет каждый указанный файл, многократно перезаписывая его содержимое, переименовывая и обнуляя перед удалением ссылки на него. Это предотвращает возможность восстановления файла или извлечения какой-либо информации о нём другими пользователями из командной строки.
Файловые системы с жесткими ссылками
Попытка безопасного удаления файла с несколькими жесткими ссылками приводит к предупреждению от srm о том, что текущий путь доступа был отсоединен, но сами данные не были перезаписаны или усечены. Это недокументированная особенность srm 1.2.8 на Mac OS X 10.9. Однако, в реализациях srm для OS X и SourceForge, поведение, при котором файл отсоединяется, но данные не перезаписываются для файлов с несколькими ссылками, всегда активно, пока платформа сообщает о наличии жестких ссылок. srm 1.2.8 на Mac OS X 10.9. Однако, если файл имеет несколько ссылок, сначала активируется функция защиты данных файла с несколькими ссылками, удаляющая файл, даже если опция -n указывает "не переименовывать и не отсоединять файл".
OS X
Ряд файловых систем поддерживают форки файлов (называемые ресурсными форками и именными форками в OS X (особенно HFS+) и альтернативными потоками данных в NTFS), или расширенные атрибуты. Однако OS X – единственная платформа, на которой srm безопасно удаляет любые из этих дополнительных данных в файлах. В OS X таким образом обрабатывается только наиболее распространенный форк, не содержащий данных – ресурсный форк. Эта поддержка была добавлена в Apple 1.2.8 и SourceForge 1.2.9.
srm была удалена из OS X/macOS в версии v10.11 El Capitan в рамках удаления функции "Безопасная очистка корзины" по соображениям безопасности.
OpenBSD (всего один раз)
В srm 1.2.11, выпущенном 25 ноября 2010 года, опция, совместимая с rm в OpenBSD, а именно P, задокументирована как имеющая шаблон перезаписи, соответствующий rm в OpenBSD. Дополнительная функциональность, защищающая файлы с множественными жесткими ссылками, задокументирована в контексте совместимой с OpenBSD опции, но на самом деле всегда активна.
Окна
При рекурсивном удалении файлов srm 1.2.11 не может определить границы устройств в Windows. Следовательно, опция x, ограничивающая srm одной файловой системой, не поддерживается.