====== chattr. Управление атрибутами ======
----
===== Man =====
==== Синтаксис ====
chattr [ -RV ] [ -v версия ] [ атрибуты ] файлы…
==== Операторы ====
^ Оператор ^ Значение ^
| **%%+%%** | Добавить указанные атрибуты к существующим. |
| **%%-%%** | Снять указанные атрибуты |
| **%%=%%** | Установить только указанные атрибуты |
==== Ключи POSIX ====
^ Ключ ^ Значение ^
| **%%-R%%** | Рекурсивно изменять атрибуты каталогов и их содержимого. Все найденные символические ссылки будут игнорироваться. |
| **%%-V%%** | Выводит более полную выводимую информацию и версию программы chattr. |
| **%%-v%%** | Установить номер версии/генерации файла. |
==== Атрибуты ====
^ Атрибут ^ Значение ^
| **%%A%%** | Не обновлять время последнего доступа к файлу atime (no atime). |
| **%%a%%** | Разрешить только добавление записи к файлу (append-only), удаление и переименование запрещено. |
| **%%C%%** | No copy on write |
| **%%c%%** | Автоматически сжимать информацию файла на диске. Операция чтения информации из этого файла возвращает несжатые данные. Запись информации в такой файл сопровождается предварительной её упаковкой и, наконец, последующим сохранением на диск.|
| **%%D%%** | Использовать синхронное обновление каталогов; это эквивалентно применению опции монтирования **dirsync** к подмножеству файлов. |
| **%%d%%** | Не выполнять резервное копирование, когда запущена программа dump . |
| **%%e%%** | Использовать экстенты для адресации данных. |
| **%%i%%** | Запретить изменение файла. Только суперпользователь или процесс, обладающий возможностью **CAP_LINUX_IMMUTABLE** может установить или очистить такой атрибут|
| **%%j%%** | Все данные файла прежде, чем быть записанными непосредственно в файл, сохраняются в журнал файловой системы. Правда, это происходит в том случае, если файловая система смонтирована с опциями "data=ordered" или "data=writeback". Когда файловая система смонтирована с опцией "data=journal" все данные файла уже журналируются и этот атрибут не имеет никакого эффекта. Только суперпользователь или процесс, обладающий возможностью **CAP_SYS_RESOURCE**, может установить или очистить этот атрибут. |
| **%%S%%** | Синхронное изменение всех данных на диск, без кэширования. Использование этого атрибута эквивалентно применению опции монтирования `sync' к подмножеству расположенных файлов. |
| **%%s%%** | Безопасное удаление файла: выполняется обнуление его блоков и запись их обратно на диск. |
| **%%T%%** | Директория с установленным атрибутом 'T' будет считаться, как расположенная на вершине иерархии директорий с целью использования метода распределения блоков по Orlov (который применяется в системах с Linux 2.5.46 или выше). |
| **%%t%%** | Файл нельзя объединять с другими файлами. Фне будет иметь в конце (в блоке на диске) дописанных (склеенных с ним) частичных фрагментов (хвостов) других файлов (для тех файловых систем, которые поддерживают "склеивание хвостов" файлов). Это необходимо для программ типа LILO, которые непосредственно обращаются к файловой системе и не понимают "склеивание хвостов" файлов. Правда, здесь следует отметить, что файловые системы ext2 или ext3 не поддерживают для файлов "склеивание хвостов" (всё же, кроме некоторых весьма экспериментальных заплаток). |
| **%%u%%** | При удалении файла с атрибутом "u" его данные сохраняются, и пользователь сможет восстановить его. |
* Информационные атрибуты (нельзя явно задавать или изменять):
^ Атрибут ^ Значение ^
| **%%h%%** | Огромный файл. |
| **%%E%%** | Сжатый файл имеет ошибку сжатия. |
| **%%l%%** | Директория находится позади индексированных хешированных деревьев. |
| **%%X%%** | К необработанному содержанию сжатого файла можно получить непосредственный доступ. |
| **%%Z%%** | Сжатый файл является необработанным. |
----
===== Примеры использования =====
==== Запретить изменение бинарных файлов ====
chattr -R +i /bin /sbin /usr/bin /usr/sbin
==== Предотвращаем модификацию лога ====
chattr +a /var/log/secure