CHATTR(1)

НАЗВА
chattr — зміна атрибутів файла у файловій системі Linux

КОРОТКИЙ ОПИС
chattr [ -RVf ] [ -v версія ] [ -p проєкт ] [ режим ] файли...

ОПИС
chattr змінює атрибути файлів у файловій системі Linux.

Формат символічного режиму є таким: +-=[aAcCdDeFijmPsStTux].

Оператор «+» наказує програмі додати вибрані атрибути до наявних атрибутів файлів; «-» наказує вилучити атрибути; а «=» наказує встановити лише вказані атрибути для файла.

Літери «aAcCdDeFijmPsStTux» вибирають нові атрибути для файлів: лише дописування (a), без оновлень atime (A), стиснений (c), без копіювання при записі (C), без дампу (d), синхронні оновлення каталогу (D), формат із розширеннями (e), пошук у каталозі без врахування регістру символів (F), незмінний (i), журналювання даних (j), не стискати (m), ієрархія проєкту (P), безпечне вилучення (s), синхронні оновлення (S), без об'єднання за кінцем (t), вершина ієрархії каталогів (T), не можна вилучати (u) і безпосередній доступ до файлів (x).

Наступні атрибути є придатними лише до читання, їх може бути виведено у списку атрибутів lsattr(1), але не може бути змінено за допомогою chattr: зашифрований (E), індексований каталог (I), вбудовані дані (N) та дійсність (V).

Підтримку усіх прапорців та використання в усіх файлових системах передбачено не усюди; ознайомтеся із специфічними для файлової системи сторінками підручника, зокрема сторінками btrfs(5), ext4(5), mkfs.f2fs(8), та xfs(5), щоб дізнатися більше про специфічні для файлових систем подробиці.

ПАРАМЕТРИ

-R  Рекурсивно змінити атрибути каталогів та їхнього вмісту.

-V  Увімкнути докладний режим виведення chattr і вивести дані щодо версії програми.

-f  Придушити більшість повідомлень про помилки.

-v версія
    Встановити номер версії або генерації файла.

-p проєкт
    Встановити номер проєкту файла.

АТРИБУТИ

a   Файл зі встановленим атрибутом «a» можна відкривати для запису лише у режимі дописування. Встановити або зняти цей атрибут може лише суперкористувач або процес, який має можливість CAP_LINUX_IMMUTABLE.

A   Якщо буде здійснено спробу доступу до файла із встановленим атрибутом «A», його запис atime не буде змінено. Таким чином можна уникнути певного зайвого навантаження на систему введення-виведення на системах для ноутбуків.

c   Файл зі встановленим атрибутом «c» буде автоматично стиснуто на диску ядром системи. У відповідь на спробу читання цього файла буде повернуто розпаковані дані. Спроба запису до цього файла призведе до стискання даних до збереження їх на диск. Зауваження: будь ласка, ознайомтеся із розділом щодо вад і обмежень наприкінці цього документа. (Зауваження: у btrfs, якщо встановлено прапорець «c», не може бути встановлено прапорець «C». Також конфліктує із параметром монтування btrfs «nodatasum».)

C   Файл із встановленим атрибутом «C» не підлягатиме оновленням копіювання-при-записі. Підтримку цього прапорця передбачено лише у файлових системах, де виконується копіювання-при-записі. (Зауваження: у btrfs прапорець «C» слід встановлювати для нових або порожніх файлів. Якщо цей прапорець встановлено для файла, який вже має блоки даних, прапорець лишиться невизначеним, аж доки файл не стане повністю стабільним. Якщо встановити прапорець «C» для каталогу, він не вплине на сам каталог, але нові файли, які буде створено у цьому каталозі, матимуть встановлений атрибут No_COW. Якщо встановлено прапорець «C», не можна буде встановити прапорець «c».)

d   Файл зі встановленим атрибутом «d» не є кандидатом на резервне копіювання, коли запущено програму dump(8).

D   Якщо буде внесено зміни до каталогу зі встановленим атрибутом «D», зміни буде синхронно записано на диск; це еквівалент застосування параметра монтування «dirsync» до підмножини файлів.

e   Атрибут «e» вказує на те, що у файлі використано розширення для прив'язки до блоків на диску. Цей атрибути не може бути вилучено за допомогою chattr(1).

E   Файл, каталог або символічне посилання із встановленим атрибутом «E» буде зашифровано файловою системою. Цей атрибут не можна встановити або зняти за допомогою chattr(1), хоча його може бути показано lsattr(1).

F   Встановлення атрибуту «F» для каталогу вказує на те, що усі пошуки шляхів у каталозі будуть виконуватися без врахування регістру символів у назвах. Цей атрибут можна змінювати лише у порожніх каталогах у файлових системах із увімкненою можливістю casefold.

i   До файлів із встановленим атрибутом «i» не можна вносити зміни: їх не можна вилучати або перейменовувати, не можна створювати посилання на такі файли, більшість метаданих таких файлів змінювати не можна, також файл не може бути відкрито у режимі запису. Встановлювати або знімати цей атрибут може лише суперкористувач або процес із можливістю CAP_LINUX_IMMUTABLE.

I   Атрибут «I» використовують у коді htree для того, щоб вказати, що каталог буде індексовано за допомогою хешованих ієрархій. Атрибут не може бути встановлено або знято за допомогою chattr(1), хоча його можна переглянути за допомогою lsattr(1).

j   Для файлів зі встановленим атрибутом «j» усі дані записують до журналу ext3 або ext4 до записування даних до самого файла, якщо систему змонтовано з використанням параметра «data=ordered» або «data=writeback», і файлова система має журнал. Якщо файлову систему змонтовано з використанням параметра «data=journal», усі дані файлів вже журнальовано, а цей атрибут ні на що не впливає. Встановлювати або знімати цей атрибут може лише суперкористувач або процес із можливістю CAP_SYS_RESOURCE.

m   Файл із встановленим атрибутом «m» буде виключено зі стискання у файлових системах, де передбачено підтримку стискання для окремих файлів.

N   Встановлення атрибуту «N» для файла, вказує на те, що у файлі зберігаються вбудовані дані, тобто дані у самому inode. Цей атрибут не може бути встановлено або знято за допомогою chattr(1), хоча lsattr(1) може показувати цей атрибут.

P   Для каталогу зі встановленим атрибутом «P» буде примусово встановлено ієрархічну структуру для ідентифікаторів проєкту. Це означає, що файли і каталоги, які створено у цьому каталозі, успадкують ідентифікатор проєкту каталогу. Дії з перейменовування буде обмежено так, що при пересуванні файла або каталогу до іншого каталогу, ідентифікатори проєктів мають збігатися. Крім того, жорсткі посилання на файл можна буде створити, лише якщо ідентифікатори проєкту для файла і каталогу призначення є однаковими.

s   Якщо буде здійснено спробу вилучення файла зі встановленим атрибутом «s», його блоки буде заповнено нулями і знову записано на диск. Зауваження: будь ласка, ознайомтеся із розділом щодо вад і обмежень наприкінці цього документа.

S   Якщо буде внесено зміни до файла зі встановленим атрибутом «S», зміни буде синхронно записано на диск; це еквівалент застосування параметра монтування «sync» до підмножини файлів.

t   Файл із атрибутом «t» не матиме часткового блокового фрагмента наприкінці файла, об'єднаного із іншими файлами (для тих файлових систем, де передбачено підтримку хвостового об'єднання). Це потрібно для програм, подібних до LILO, які виконують читання файлової системи безпосередньо, і які не можуть обробляти файлів із хвостовим об'єднанням. Зауваження: на час написання цієї сторінки підручника у файлових системах ext2, ext3 і ext4 не було реалізовано підтримки хвостового об'єднання.

T   Каталог із атрибутом «T» буде вважатися верхнім каталогом ієрархій каталогів для засобу розподілу блоків Орлова. Це вказівка для засобу розподілу блоків, яку використовують у ext3 і ext4 для того, щоб зазначити, що підкаталоги у цьому каталозі не пов'язано між собою, а отже, їх можна розділити при розподілі на диску. Наприклад, варто встановити атрибут «T» для каталогу /home, щоб /home/ivan і /home/mariya було розташовано у окремих групах блоків. Для каталогів, де цей атрибут не встановлено, засіб розподілу блоків Орлова намагатиметься групувати підкаталоги якомога ближче один до одного.

u   Якщо буде здійснено спробу вилучення файла зі встановленим атрибутом «u», його буде збережено. Це надасть користувачеві змогу наказати згодом його відновити. Зауваження: будь ласка, ознайомтеся із розділом щодо вад і обмежень наприкінці цього документа.

x   Файл із «x»' надсилає запит щодо використання режиму безпосереднього доступу (dax), якщо у ядрі передбачено підтримку DAX. Таку поведінку може бути перевизначено за допомогою параметра монтування «dax=never». Щоб дізнатися більше, ознайомтеся із документацією до ядра для dax: <https://www.kernel.org/doc/html/latest/filesystems/dax.html>.

    Якщо атрибут встановлено для наявного каталогу, його буде успадковано усіма файлами та підкаталогами, які згодом буде створено у цьому каталозі. Якщо у наявному каталозі вже містяться якісь файли і підкаталоги, внесення змін до атрибута батьківського каталогу не змінить атрибутів цих файлів і підкаталогів.

V   Для файла із встановленим атрибутом «V» увімкнено fs-verity. Запис до нього буде заборонено, а файлова система автоматично перевірятиме усі дані, які з нього прочитано з використанням криптографічного хешу, який стосується усього вмісту файла, наприклад, з використанням дерева Меркла. Це уможливлює ефективне розпізнавання файла. Цей атрибут не може бути встановлено або знято за допомогою chattr(1), хоча lsattr(1) може його показувати.

АВТОР
Автором chattr є Remy Card <Remy.Card@linux.org>. Поточний супровід програми здійснює Theodore Ts'o <tytso@alum.mit.edu>.

ВАДИ І ОБМЕЖЕННЯ
Атрибути «c», «s» і «u» не буде взято до уваги у файлових системах ext2, ext3 і ext4 у тому вигляді, у якому їх реалізовано у поточних ядрах Linux з основної гілки розробки. Встановлення атрибутів «a» and «i» не вплине на можливість запису до вже наявних дескрипторів файлів.

Параметр «j» має сенс лише для файлових систем ext3 і ext4.

Параметр «D» має сенс лише для ядер Linux 2.5.19 і новіших.

ДОСТУПНІСТЬ
chattr є частиною пакунка e2fsprogs, код якого доступний зі сторінки http://e2fsprogs.sourceforge.net.

ДИВ. ТАКОЖ
lsattr(1), btrfs(5), ext4(5), mkfs.f2fs(8), xfs(5).

ПЕРЕКЛАД
Український переклад цієї сторінки посібника виконано Yuri Chornoivan <yurchor@ukr.net>

Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html). НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.

Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: trans-uk@lists.fedoraproject.org.