chattr — команда, изменяющая атрибуты файлов на файловых системах ext2fs, ext3, ext4 и частично на других файловых системах Linux.

Синтаксис править

  • chattr [ -RV ] [ -v версия ] [ атрибуты ] файлы…
-R Рекурсивно изменять атрибуты каталогов и их содержимого. Все найденные символические ссылки будут игнорироваться
-V Выводит более полную выводимую информацию и версию программы chattr
-f Отключить вывод большинства ошибок
-p проект Установить номер проекта
-v версия Установить номер версии/генерации файла


Описание править

chattr изменяет атрибуты файлов на файловой системе в ОС на ядре Linux.

Формат символьного режима: +-=[ASacDdIijsTtu].

Оператор «+» обозначает добавление указанных атрибутов к существующим; «-» обозначает их снятие; «=» обозначает установку только этих атрибутов файлам.

Символы «ASacDdijsu» указывают на новые атрибуты файлов:

Атрибут Что означает Условия смены атрибута
a append only. Файл может быть открыт только в режиме дозаписи Только superuser или процесс с опцией CAP_LINUX_IMMUTABLE
A no atime updates. Не обновлять поле atime (время последнего доступа) файла. Уменьшает количество операций записи на устройство
c compressed. Файл записан на диск с использованием сжатия
C no copy-on-write. Отключение режима Copy-on-write для указанного файла. Поддерживается только в файловых сиcтемах с CoW (Btrfs и др.)
d no dump. Отключает создание архивной копии файла программой dump
D synchronous directory updates. Включает синхронную запись изменений в данном каталоге. Это эквивалентно опции dirsync при монтировании файловой системы
e extent format. Включает использование extent при выделении места на устройстве Атрибут не может быть отключен с помощью chattr
E Атрибут экспериментальных методов сжатия Атрибут не может быть установлен или снят с помощью chattr
h Атрибут указывает, что файл хранит свои блоки в единицах размера блока файловой системы, а не в единицах секторов, и означает, что он (или когда-то был) больше 2 ТБ. Атрибут не может быть установлен или снят с помощью chattr
i immutable. Указывает, что файл защищен от изменений: не может быть удален или переименован, никакая ссылка (жесткая) не может быть создана на этот файл, никакие данные не могут быть записаны в файл. Только superuser или процесс с опцией CAP_LINUX_IMMUTABLE
I Указывает что указанный каталог проиндексирован с помощью хеш-дерева Атрибут не может быть установлен или снят с помощью chattr
j data journalling. Все данные файла перед записью будут полностью записаны в журнал ext3/ext4, несмотря на опции монтирования «data=ordered» или «data=writeback». В режиме «data=journal» бессмыслен Только superuser или процесс с опцией CAP_SYS_RESOURCE
N Файл с установленным атрибутом «N» указывает на то, что в файле есть данные, хранящиеся внутри самого inode. Атрибут не может быть установлен или снят с помощью chattr
P project hierarchy. Указывает, что каталог с вложенными файлами является иерархической структурой проекта.
s secure deletion. Атрибут защищенного удаления файла, перед удалением все содержимое файла полностью затирается «00»
S synchronous updates. Атрибут синхронной записи для данного файла, аналогичен опции монтирования «sync» файловой системы
t no tail-merging. Отключает метод tail-merging для файла.
T top of directory hierarchy. Указывает что каталог является головой иерархии каталогов.
u undeletable. Указывает системе, что при удалении файла его содержимое должно быть сохранено с возможностью дальнейшего восстановления
X Атрибут экспериментальных методов сжатия Атрибут не может быть установлен или снят с помощью chattr
Z Атрибут экспериментальных методов сжатия Атрибут не может быть установлен или снят с помощью chattr

chattr является частью пакета e2fsprogs, получить его можно с адреса e2fsprogs.sourceforge.net.

См. также править

  • chown — изменение владельца и группы файла(ов)
  • chmod — изменение прав доступа к файлам

Ссылки править

  • chattr(1) — страница справки man по пользовательским командам GNU/Linux на сайте OpenNet  (рус.)
  • chattr(1) — страница справки man по пользовательским командам GNU/Linux  (англ.)
  • chflags(1) — страница справки man по пользовательским командам OpenBSD  (англ.)
  • chflags(1) — страница справки man по пользовательским командам FreeBSD  (англ.)