В Linux атрибуты файла – это свойства метаданных, которые описывают поведение файла. Например, атрибут может указывать, сжат ли файл, или указывать, можно ли удалить файл.
Некоторые атрибуты, такие как неизменяемость, могут быть установлены или очищены, в то время как другие, такие как шифрование, доступны только для чтения и могут быть только просмотрены. Поддержка определенных атрибутов зависит от используемой файловой системы.
В этой статье объясняется, как использовать chattrкоманду для изменения атрибутов файлов в файловых системах Linux.
Команда chattr принимает следующий общий вид:
chattr [OPTIONS] [OPERATOR][ATTRIBUTES] FILE...
[OPERATOR] может быть одним из следующих символов:
За оператором следует один или несколько флагов [ATTRIBUTES], которые вы хотите добавить или удалить из атрибутов файла. Ниже приведен список нескольких общих атрибутов и связанных флагов:
Чтобы получить полный список всех атрибутов файла и флагов, введите man chattr в свой терминал.
По умолчанию атрибуты файла не сохраняются при копировании файла с помощью таких команд, как cp или rsync.
Одно из распространенных применений 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.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Полезная статья
mid2013_bash5.2
нет такой команды