В Linux кроме прав доступа есть еще и атрибуты файла, подобно атрибутам файла в других ОС.



Просмотреть установленные атрибуты можно командой: chattr some_file



Основные полезные атрибуты:

i Запрет на изменений, переименование и удаление файла. Обычно ставится для критических конфиг. файлов. Установить и сбросить может только root (либо процесс с CAP_LINUX_IMMUTABLE)



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



c Файл будет сжиматься. Рекомендуется для больших несжатых данных, но крайне не желателен для файлов БД т.к. доступ будет медленнее.



S Данные, записываемые в файл, сразу будут сброшены на диск. Аналогично выполнению команды sync сразу после каждой операции записи в файл.



s Прямо противоположен атрибуту u. После удаления файла, принадлежащие ему блоки будут обнулены и восстановить их уже не получится.



Пример установки атрибута: chattr +i config_file

Пример сброса атрибута: chattr -i config_file