chattr
изменение режима доступа к файлам


СИНТАКСИС
 
chattr [ -RV ] [ -v version  ] [ mode ] files...

ОПИСАНИЕ
  Команда chattr меняет атрибуты файлов на файловых системах Linux ext2 и ext3.

Команда управляет атрибутами файлов, формат которых задается в следующем символьном виде +-=[ASacDdIijsTtu].

Оператор `+' добавляет выбранные атрибуты к уже существующим атрибутам файлов; оператор `-' удаляет их; оператор `=' устанавливает только атрибуты, которые файлы имеют.

Новые атрибуты для файла выбираются из последовательности `acdijsuADST': (a) - "только добавление записей", (c) - "сжатый", (d) - "недампируемый", (i) - "недосягаемый", (j) - "с журналированием данных" , (s) - "с гарантированным удалением", (t) - "без склеивания хвостов файлов", (u) - "не удаляемый", (A) - "не обновляемый по времени доступа", (D) - "с синхронизацией изменений директории", (S) - "синхронно обновляемый", (T) - "на вершине иерархии директорий". Следует учитывать, что действие атрибутов команды chattr перекрывает полномочия пользователя, направленные на модификацию или удаление файлов. Это свойство часто используют в качестве дополнительной меры по усилению безопасности системы. Например, установка атрибута i ("недосягаемый") для файла /etc/lilo.conf при помощи:

chattr i /etc/lilo.conf

предотвращает любые изменения (случайные и не только) в файле lilo.conf. Установленные командой chattr атрибуты невозможно увидеть с помощью команды ls. Для этого следует применять команду lsattr.


ОПЦИИ
`
-R Рекурсивно меняет атрибуты каталогов и их содержимого. Встречающиеся символические ссылки во время рекурсии игнорируются.
-V Подробно информирует о происходящем и выводит версию программы.
-v version Устанавливает версию или номер "сборки" файловой системы.

AТРИБУТЫ
Если для файла установлен атрибут 'A', тогда не происходит обновление (модификация) записи atime (время доступа к файлу). Это позволяет избежать дополнительных дисковых операций ввода/вывода для систем на портативных компьютерах.

Для файла с установленным атрибутом `a' разрешено лишь добавлять записи. Только суперпользователь или процесс, обладающий возможностью CAP_LINUX_IMMUTABLE, может установить или очистить этот атрибут.

Информация файла с установленным атрибутом `c' автоматически упаковывается (сжимается) на диске ядром операционной системы. Операция чтения информации из этого файла возвращает несжатые данные. Запись информации в такой файл сопровождается предварительной её упаковкой и, наконец, последующим сохранением на диск.

Когда модифицируется директория с установленным атрибутом `D', внесенные изменения синхронно записываются на диск; это эквивалентно применению опции монтирования `dirsync' к подмножеству файлов.

Для файла с установленным атрибутом `d' не выполняется резервное копирование, когда запущена программа dump(8).

Атрибут 'E' используется экспериментальными заплатками сжатия для определения того, что сжатый файл имеет ошибку сжатия.

Атрибут 'I' используется кодом для хеш-деревьев (htree), чтобы указать, что директория находится позади индексированных хешированных деревьев.

Файл с установленным атрибутом `i' становится полностью не модифицируемым (недосягаемым): он не может быть удален или переименован, никакие ссылки не могут быть созданы на этот файл и никакие данные не могут быть записаны в него. Только суперпользователь или процесс, обладающий возможностью CAP_LINUX_IMMUTABLE может установить или очистить такой атрибут

Для файла с установленным атрибутом `j' все его данные прежде, чем быть записанными непосредственно в файл, сохраняются в журнал ext3. Правда, это происходит в том случае, если файловая система смонтирована с опциями "data=ordered" или "data=writeback". Когда файловая система смонтирована с опцией "data=journal" все данные файла уже журналируются и этот атрибут не имеет никакого эффекта. Только суперпользователь или процесс, обладающий возможностью CAP_SYS_RESOURCE, может установить или очистить этот атрибут.

При удалении файла с установленным атрибутом `s' выполняется обнуление его блоков и запись их обратно на диск.Т.е. когда удаляется файл или каталог с этим атрибутом, блоки, которые он занимал на диске перезаписываются нулями.

Модифицируя файл с атрибутом `S', внесенные изменения синхронно записываются на диск; использование этого атрибута эквивалентно применению опции монтирования `sync' к подмножеству расположенных файлов. Т.е. все изменения синхронизируются и немедленно записываются на диск.

Директория с установленным атрибутом 'T' будет считаться, как расположенная на вершине иерархии директорий с целью использования метода распределения блоков по Orlov (который применяется в системах с Linux 2.5.46 и выше).

Файл с установленным атрибутом 't' не будет иметь в конце (в блоке на диске) дописанных (склеенных с ним) частичных фрагментов (хвостов) других файлов (для тех файловых систем, которые поддерживают "склеивание хвостов" файлов). Это необходимо для программ типа LILO, которые непосредственно обращаются к файловой системе и не понимают "склеивание хвостов" файлов. Правда, здесь следует отметить, что файловые системы ext2 или ext3 не поддерживают для файлов "склеивание хвостов" (всё же, кроме некоторых весьма экспериментальных заплаток).

При удалении файла с атрибутом `u', его содержимое сохраняется (остается не тронутым) на диске. Это позволяет пользователю в последующем восстановить такой файл.

Атрибут 'X' используется экспериментальными заплатками сжатия для определения того, что к необработанному содержанию сжатого файла можно получить непосредственный доступ.

Атрибут 'Z' используется экспериментальными заплатками сжатия для определения того, что сжатый файл является необработанным.


СМ.ТАКЖЕ
  lsattr, chgrp, chown


Список команд