Логотип

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

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

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

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

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

 

Синтаксис chattr

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

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

 

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

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

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

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

Чтобы получить полный список всех атрибутов файла и флагов, введите 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

 

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

Читать  Как установить неограниченное кол-во пользователей и описания файлов на сервере Linux

 

Заключение

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

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

Редактор: AndreyEx

Рейтинг: 4.5 (31 голос)
Если статья понравилась, то поделитесь ей в социальных сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

2 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Иванка

Полезная статья

егор

mid2013_bash5.2
нет такой команды

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала