Команда Chattr в Linux (атрибуты файла)

Команда chattr в Linux

В Linux атрибуты файла — это метаданные, описывающие поведение файла. Например, атрибут может указывать, сжат ли файл или можно ли его удалить.

Некоторые атрибуты, такие как неизменность, можно устанавливать и снимать, в то время как другие, такие как шифрование, доступны только для чтения и просмотра. Поддержка некоторых атрибутов зависит от используемой файловой системы.

В этой статье объясняется, как использовать команду chattr для изменения атрибутов файла в файловых системах Linux.

Синтаксис chattr

Команда chattr имеет следующий общий вид:

 chattr [ OPTIONS ] [ OPERATOR ][ ATTRIBUTES ] FILE...

Значением части [OPERATOR] может быть один из следующих символов:

  • + — Оператор «плюс» сообщает chattr о необходимости добавить указанные атрибуты к существующим.
  • - — Оператор «минус» сообщает chattr о необходимости удалить указанные атрибуты из существующих.
  • = — Оператор равенства указывает chattr установить указанные атрибуты как единственные атрибуты.

За оператором следуют один или несколько флагов [ATTRIBUTES] , которые вы хотите добавить или удалить из атрибутов файла. Ниже приведён список некоторых распространённых атрибутов и связанных с ними флагов:

  • a — Если этот атрибут установлен, файл может быть открыт только в режиме добавления для записи.
  • A — Когда файл с этим набором атрибутов открыт, его запись atime не изменяется. atime (время доступа) — это последний раз, когда файл был доступен/открыт какой-либо командой или приложением.
  • e — этот атрибут указывает, что файл использует экстенты для отображения блоков на диске. Атрибут e нельзя изменить с помощью chattr .
  • i — этот атрибут указывает на то, что файл является неизменяемым, то есть его нельзя удалить или переименовать.

Для получения полного списка всех атрибутов и флагов файла введите man chattr в терминале.

По умолчанию атрибуты файла не сохраняются при копировании файла с помощью таких команд, как cp или rsync .

Пример chattr

Одним из распространенных применений chattr является установка флага неизменяемости для файла или каталога, чтобы запретить пользователям удалять или переименовывать файл.

Просмотреть атрибуты файла можно с помощью команды lsattr :

 lsattr todo.txt

Вывод ниже показывает, что установлен только флаг e :

 --------------e----- todo.txt

Чтобы сделать файл неизменяемым, добавьте флаг i с оператором + к существующим атрибутам:

 sudo chattr +i todo.txt

Мы используем sudo , поскольку только пользователь root может изменить неизменяемый флаг.

Подтвердите добавление атрибута:

 lsattr todo.txt
 ----i---------e----- todo.txt

Чтобы отменить изменения и снять флаг неизменяемости, используйте оператор - :

 sudo chattr +i todo.txt

С помощью chattr можно добавлять или удалять сразу несколько атрибутов. Например, чтобы сделать файл неизменяемым и указать ядру не отслеживать время последнего доступа, можно использовать:

 sudo chattr +iA todo.txt

Последний оператор, который вы можете использовать, — это оператор = . Например, чтобы сделать атрибут e единственным атрибутом, выполните:

 sudo chattr "=e" todo.txt

Обратите внимание, что оператор и флаг заключены в кавычки, чтобы избежать интерпретации оболочкой символа + .

Заключение

chattr — это инструмент командной строки для изменения атрибутов файлов в файловой системе Linux.

Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.

терминал чаттра

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *