Команда chattr (действует для ext2, ext3, xfs) позволяет изменять параметры ФС для отдельного файла или директории:
chattr +a - только добавление данных (append-only), удаление и переименование запрещено;
chattr +i - запрещено удаление, изменение или переименование (immutable);
chattr +A - запретить сохранение данных о каждом обращении к файлу (no atime)
chattr +S - синхронное изменение всех данных на диск, без кэширования;
chattr +c - файл будет хранится на диске в сжатом виде (нужен отдельный патч для ядра);
chattr +s - после удаления файла, место на диске забивается нулями (внешний патч);
chattr +u - резервирование данных файла после удаления (внешний патч); Работает аналогично символьному варианту chmod с использованием +, - и =
Пример:
chattr -R +i /bin /sbin /usr/bin /usr/sbin - запрещаем изменение бинарников
chattr +a /var/log/secure - предотвращаем модификацию лога злоумышленником
Для просмотра расширенных атрибутов используется утилита lsattr.
Для использования атрибутов ext нужно монтировать с опцией user_xattr, для reiserfs опция attrs, а для xfs опций не нужно, она всегда использует xattr.
Опция 'j' только для ext3.
Опции 'j', 'a' и 'i' может устанавливать только root.
Управление файловой системой