Много статей в Интернете пестрят советами про chattr +s, который добавляет чуток безопасности, позволяя немного забыть про файловые шредеры. Видно авторы статей не проверяют работу бита +s, хотя в man chattr написано, что работа бита +s не гарантируется. Да и не работает бит +s до сих пор, хотя ядро линукс уже стало 3.5, а обещали в версии ядра 3.3 что будет работать.
Когда-нибудь в далёком будущем, возможно, secure bit заработает и тогда можно немного усилить безопасность и присвоить атрибут +s для каталога с важной информацией так:
sudo chattr +sR ~/Документы
После данной процедуры, удаление любого файла в данном каталоге будет сопровождаться автоматическим заполнением нулями старого содержимого файла. Настоящие шредеры файлов делают несколько итераций при удалении файлов, но согласитесь:
shred -uz имя_файла
для безопасного удаления файла, который сделает несколько итераций, заполняя старое содержимое случайными данными, и на прощание скроет свою работу, заполнив всё нулями.Настоящий шредер лучше всего, но его нужно не забывать вызывать для удаления файла, а chattr +s работает "автоматом".
Нужно проверить на тестовом файле, что всё работает как надо и вы не сидите в неведении. Создаём тестовый файл.
for i in {10001..10200}; do echo "$i test line" >> testfile.txt; done
Получаем информацию о файле, точнее о стартовом LBA адресе (begin_LBA). sync && sudo hdparm --fibmap testfile.txt
Читаем данные со стартового LBA адреса файла, замените [begin_LBA] на свой из вывода предыдущей команды:
sync && sudo hdparm --read-sector [begin_LBA] /dev/sda
Заметьте что нужно использовать обобщённое имя, в моём случае /dev/sda, а не точное имя раздела, например /dev/sda2. Теперь удалите файл.
rm testfile.txt
Сбросьте файловые буфера и синхронизируйте свою файловую систему.
sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
Повторяем чтение со стартового адреса:
sync && sudo hdparm --read-sector [begin_LBA] /dev/sda
Вы должны видеть нули! Если вы видите, что-то отличное от нулей, то значит не работает бит +s - secure delete. Нет ничего хуже, чем видимость безопасности!
Есть много параметров у chattr, один из них +i (неизменяемый = immutable), который не позволит удалить, переместить или переименовать файл даже root`у. Это бывает иногда полезно.