chattr - это команда в Linux, которая позволяет пользователю устанавливать определенные атрибуты файла. lsattr - это команда, которая отображает атрибуты файла.
Автор (ы) оригинала | Реми Кард |
---|---|
Операционная система | Linux |
Платформа | Кроссплатформенность |
Тип | Командование |
Операционная система | BSD-подобные системы , включая macOS |
---|---|
Платформа | Кроссплатформенность |
Тип | Командование |
В большинстве BSD-подобных систем , включая macOS , всегда была аналогичная команда chflags для установки атрибутов, но не было команды, специально предназначенной для их отображения; Вместо этого используются определенные параметры команды ls . Команда chflags впервые появилась в 4.4BSD .
В Solaris нет команд, специально предназначенных для управления ими. Вместо них используются chmod [1] и ls [2] .
В других Unix , как правило, нет аналогичных команд. Сходные по звучанию команды chatr (из HP-UX ) и lsattr (из AIX ) существуют, но не имеют связанных функций.
Помимо прочего, команда chattr позволяет сделать файлы неизменяемыми, чтобы файлы паролей и некоторые системные файлы нельзя было стереть во время обновления программного обеспечения. [3]
В системах Linux ( chattr и lsattr )
Поддержка файловой системы
Инструменты командной строки chattr (для управления атрибутами) и lsattr (для перечисления атрибутов) изначально относились к семейству второй расширенной файловой системы ( ext2 , ext3 , ext4 ) и доступны как часть пакета e2fsprogs .
Однако с тех пор функциональность была расширена, полностью или частично, на многие другие системы, включая XFS , ReiserFS , JFS и OCFS2 . Файловая система btrfs включает в себя функции атрибутов, включая C
флаг, который отключает встроенную функцию копирования при записи (CoW) в btrfs из-за более низкой производительности, связанной с CoW.
описание чата
Форма Команда chattr :
chattr [ -RVf ] [ - + = AacDdijsTtSu ] [ -v версия ] файлы ...
-R
рекурсивно изменяет атрибуты каталогов и их содержимое-V
должен быть подробным и печатать версию программы-f
подавляет большинство сообщений об ошибках
lsattr описание
Форма Команда lsattr (GNU 1.41.3):
lsattr [ -RVadv ] [ файлы ... ]
-R
рекурсивно перечисляет атрибуты каталогов и их содержимое-V
отображает версию программы-a
перечисляет все файлы в каталогах, включая точечные файлы-d
перечисляет каталоги, как и другие файлы, а не перечисляет их содержимое
Атрибуты
Некоторые атрибуты включают:
Атрибут | флаг lsattr | опция chattr | Семантика и обоснование |
---|---|---|---|
Нет atime обновлений | A | +A установить, -A чтобы очистить |
|
Только добавить | a | +a установить -a для очистки [примечание 1] |
|
Сжатый | c | +c установить -c для очистки [примечание 2] |
|
Без копирования при записи (CoW) | C | +C установить -C для очистки [примечание 3] |
|
Синхронные обновления каталога | D | +D установить, -D чтобы очистить |
|
Нет свалки | d | +d установить, -d чтобы очистить |
|
Ошибка сжатия | E | (недоступен) |
|
Формат экстента | e | (недоступен) |
|
Огромный файл | h | (недоступен) |
|
Индексированный каталог | I | (недоступен) |
|
Неизменный | i | +i установить -i для очистки [примечание 1] |
|
Ведение журнала данных | j | +j установить -j для очистки [примечание 4] |
|
Безопасное удаление | s | +s установить -s для очистки [примечание 2] [примечание 5] |
|
Синхронные обновления | S | +S установить, -S чтобы очистить |
|
Вершина иерархии каталогов | T | +T установить, -T чтобы очистить |
|
Нет слияния хвостов | t | +t установить, -t чтобы очистить |
|
Неудаляемый | u | +u установить -u для очистки [примечание 2] |
|
Необработанный доступ к сжатию | X | (недоступен) |
|
Сжатый грязный файл | Z | (недоступен) |
|
Номер версии / поколения | -v | -v version |
|
Заметки
- ^ a b Только суперпользователь или процесс, обладающий такой
CAP_LINUX_IMMUTABLE
возможностью, может устанавливать или очищать эти атрибуты. - ^ a b c Эти атрибуты не соблюдаются ext2 и файловые системы ext3, реализованные в текущих основных ядрах Linux.
- ^ Эти атрибуты имеют смысл только для файловых систем с функцией копирования при записи, таких как btrfs .
- ^ Только суперпользователь или процесс, обладающий такой
CAP_SYS_RESOURCE
возможностью, может установить или очистить этот атрибут. - ^ Этот атрибут не соблюдается Файловая система ext4, реализованная в текущих основных ядрах Linux, как сообщается в Ошибке № 17872 .
В BSD-подобных системах ( chflags )
Поддержка файловой системы
В Команда chflags не специфична для определенных файловых систем. UFS в системах BSD и APFS , HFS + , SMB , AFP и FAT в macOS поддерживают по крайней мере некоторые флаги.
описание chflags
Форма Команда chflags :
chflags [ -R [ -H | -L | -P ]] файл флагов ...
-H
Если указана опция -R, следуют символические ссылки в командной строке. (Символические ссылки, встречающиеся при обходе дерева, не отслеживаются.)-L
Если указана опция -R, переходят по всем символическим ссылкам.-P
Если указана опция -R, переход по символическим ссылкам не выполняется. Это значение по умолчанию.-R
Измените флаги файлов для файловых иерархий, основанных на файлах, а не только на самих файлах.
Отображение
BSD-подобные системы, как правило, не имеют команды уровня пользователя по умолчанию, специально предназначенной для отображения флагов файла. В
Ls команда будет делать с либо-lo
, или-lO
,зависимости от системы, флаги прошли.
Атрибуты
Все традиционные атрибуты могут быть установлены или сброшены суперпользователем; некоторые также могут быть установлены или удалены владельцем файла. Некоторые атрибуты включают:
Атрибут | ls flag | флаг chflags | Настраиваемый владельцем | Поддержка ОС | Семантика и обоснование |
---|---|---|---|---|---|
В архиве | арка | арка , в архиве | Нет | Все | Файл заархивирован |
Непрозрачный | непрозрачный | непрозрачный | да | Все | Каталог непрозрачен при просмотре через объединенное крепление |
Нет свалки | кувыркающийся | кувыркающийся | да | Все | Файл не может быть выгружен |
Системное добавление только | саппенд | sappnd , саппенд | Нет | Все | Существующие данные в файле нельзя перезаписать, а файл нельзя усечь. |
Только добавление пользователя | uappnd | uappnd , перевернуть | да | Все | Существующие данные в файле нельзя перезаписать, а файл нельзя усечь. |
Система неизменна | счг | щг , schange , совместимый | Нет | Все | Файл нельзя изменить, переименовать, переместить или удалить |
Неизменяемый пользователем | учг | учг , обмен , непреложный | да | Все | Файл нельзя изменить, переименовать, переместить или удалить |
Система не отключена | загорать | sunlnk, sunlink | Нет | Все | Файл нельзя удалить, переименовать или смонтировать; в macOS этот флаг необходимо установить или снять в однопользовательском режиме. |
Пользователь не отменяет связь | uunlnk | uunlnk, uunlink | да | Некоторый | Файл нельзя удалить, переименовать или смонтировать; не поддерживается macOS |
Скрытый | скрытый | скрытый | Нет | FreeBSD | По умолчанию файл скрыт в графическом интерфейсе (но не в лс ) |
Пользователь скрыт | скрытый | скрытый | да | FreeBSD | По умолчанию файл скрыт в графическом интерфейсе (но не в лс ) |
Скрытый | скрытый | скрытый | да | macOS | По умолчанию файл скрыт в графическом интерфейсе (но не в лс ) |
Отслеживаются | отслеживаются | отслеживаются | да | macOS | Изменения и удаления файлов отслеживаются |
Ограниченный | ограниченный | ограниченный | Нет | macOS | Файл защищен системой защиты целостности системы ; сопровождается расширенным атрибутомcom.apple.rootless ; необходимо установить или снять флаг в режиме восстановления |
Сжатый | сжатый | Нет | macOS | Файл сжат в формате HFS (флаг только для чтения); недоступно для томов, отформатированных в APFS | |
Хранилище данных | Нет | macOS | Скрытый флаг конфиденциальности, так как macOS Mojave установлен базовой системой для запрета любого доступа без особых прав |
Системы BSD предлагают дополнительные флаги, такие как offline , snapshot , sparse , [4] и uarchive ; см. Ссылки .
Смотрите также
ATTRIB
- аналогичная команда в MS-DOS, OS / 2 и Microsoft Windowschown
- изменить владельца файла / каталога в системе Unixchmod
- изменить атрибуты управления доступом к файлам в системе Unixcacls
- изменить списки контроля доступа к файлам в Microsoft Windows NT
Заметки
- ^ - illumos и OpenSolaris User Commands Reference Manual из последнихоснове Sun OpenSolaris
- ^ - illumos и OpenSolaris User Commands Reference Manual из последнихоснове Sun OpenSolaris
- ^ - Руководство по основным командам OpenBSD
- ^ В отличие от разреженных файлов APFS в macOS , у которых нет специальных флагов.
Рекомендации
- - Руководство по командам пользователя Linux
- - Руководство по командам пользователя Linux
- - Руководство по основным командам OpenBSD
- - Руководство по основным командам FreeBSD
- - Руководство по основным командам NetBSD
- - Руководство по основным командам Darwin и macOS (устарело; см. Более новую версию )
- stat.h (раздел флагов в системном исходном коде BSDядраMacOS XNU )