Автор (ы) | Remy Card |
---|---|
Операционная система | GNU / Linux |
Платформа | Кросс-платформенность |
Тип | Команда |
Операционная система | BSD-подобные системы, включая macOS |
---|---|
Платформа | Кросс-платформенный |
Тип | Команда |
chattr - это команда в операционной системе GNU (с ядром Linux), который позволяет пользователю устанавливать определенные атрибуты файла. lsattr - это команда, которая отображает атрибуты файла.
Большинство BSD-подобных систем, включая macOS, всегда имели аналогичную команду chflags для установки атрибутов, но не команда, специально предназначенная для их отображения; Вместо этого используются специальные параметры команды ls. Команда chflags впервые появилась в 4.4BSD.
Solaris не имеет команд, специально предназначенных для управления ими. Вместо этого используются chmod и ls.
Другие Unix, как правило, не имеют аналоговых команд. Сходные по звучанию команды chatr (из HP-UX ) и lsattr (из AIX ) существуют, но имеют не связанные функции.
Помимо прочего, команда chattr полезна для того, чтобы сделать файлы неизменяемыми, чтобы файлы паролей и некоторые системные файлы не могли быть удалены во время обновления программного обеспечения.
Инструменты командной строки chattr (для управления атрибутами) и lsattr (для перечисления атрибутов) изначально относились к семейству второй расширенной файловой системы (ext2, ext3, ext4 ) и доступны как часть пакет e2fsprogs.
Однако с тех пор функциональность была расширена, полностью или частично, на многие другие системы, включая XFS, ReiserFS, JFS и OCFS2. Файловая система btrfs включает функциональные возможности атрибутов, включая флаг C
, который отключает встроенную функцию копирования при записи (CoW) в btrfs из-за более низкой производительности, связанной с CoW.
Форма команды chattr:
chattr [-RVf] [- + = AacDdijsTtSu] [-v версия] файлы...
-R
рекурсивно изменяется атрибуты каталогов и их содержимое-V
должны быть подробными и печатать версию программы-f
подавляет большинство сообщений об ошибкахФорма команды lsattr (GNU 1.41.3):
lsattr [-RVadv] [files...]
-R
рекурсивно перечисляет атрибуты каталогов, а их содержимое-V
отображает версию программы-a
перечисляет все файлы в каталогах, включая точечные файлы -d
перечисляет каталоги, как и другие файлы, а не перечисляет их содержимоеНекоторые атрибуты включают:
Атрибут | флаг lsattr | параметр chattr | Семантика и обоснование |
---|---|---|---|
Нет atime обновляет | A | +A , чтобы установить. -A для очистки |
|
Добавить только | a | +a , чтобы установить. -a для очистки |
|
Сжатый | c | +c для установки. -c для очистки |
|
Без копирования -Write (CoW) | C | +C для установки. -C на очистку |
|
Синхронные обновления каталога | D | +D для установки. -D на очистку |
|
Без дампа | d | +d для установки. -d для очистки |
|
Ошибка сжатия | E | (недоступно) |
|
Формат экстента | e | (недоступен) |
|
Огромный файл | h | (недоступен) |
|
Индексированный каталог | I | (недоступен) |
|
Неизменяемый | i | +i для установки. -i на очистку |
|
Журнал данных | j | +j для установки. -j на очистку |
|
Безопасное удаление | s | +s для установки. -s на очистку |
|
Синхронные обновления | S | +S для установки. -S на очистку |
|
Вершина иерархии каталогов | T | +T для установки. -T на очистку |
|
Без объединения хвостов | t | +t , чтобы установить. -t на очистку |
|
Undeletable | u | +u , чтобы установить. -u на очистку |
|
необработанный доступ к сжатию | X | (недоступно) |
|
Сжатый грязный файл | Z | (недоступен) |
|
Номер версии / поколения | -v | -v версия |
|
Команда chflags не специфична для определенных файловых систем. UFS в системах BSD и APFS, HFS +, SMB, AFP и FAT в macOS поддерживаются хотя бы некоторые флаги.
Формат команды chflags:
chflags [-R [-H | -L | -P]] файл флагов...
-H
Если указана опция -R, следуют символические ссылки в командной строке. (Символические ссылки, обнаруженные при обходе дерева, не отслеживаются.)-L
Если указана опция -R, переходят по всем символическим ссылкам.-P
Если указана опция -R, символические ссылки не переходят. Это значение по умолчанию.-R
Измените флаги файлов для файловых иерархий, основанных на файлах, а не только на самих файлах.BSD-подобных систем, как правило, не имеет пользователей по умолчанию. команда level специально предназначена для отображения флагов файла. Команда ls работает с переданными флагами -lo
или -10
, в зависимости от системы.
Все традиционные атрибуты могут быть установлены или сброшены суперпользователем; некоторые также могут быть установлены или удалены владельцем файла. Некоторые атрибуты включают:
Атрибут | ls flag | chflags flag | Настраиваемая владельцем | Поддержка ОС | Семантика и обоснование |
---|---|---|---|---|---|
В архиве | arch | arch, в архиве | Нет | Все | Файл в архиве |
Непрозрачный | непрозрачный | непрозрачный | Да | Все | Каталог непрозрачен при просмотре через объединенное монтирование |
Без дампа | nodump | nodump | Да | Все | Невозможно создать дамп файла |
Системное добавление только | sappnd | sappnd, sappend | Нет | Все | Существующие данные в файле нельзя перезаписать и файл нельзя усечь |
Только добавление пользователя | uappnd | uappnd, uappend | Да | Все | Существующие данные в файле нельзя перезаписать, а файл нельзя усечь |
Неизменяемый системный | schg | schg, schange, simmutable | Нет | Все | Файл нельзя изменить, переименовать, переместить или удалить |
Нам er неизменяемый | uchg | uchg, uchange, uimmutable | Да | Все | Файл нельзя изменить, переименовать, переместить или удалено |
System no-unlink | sunlnk | sunlnk, sunlink | Нет | Все | Файл нельзя удалить, переименовать или смонтировать; в macOS этот флаг необходимо установить или сбросить в однопользовательском режиме |
User no-unlink | uunlnk | uunlnk, uunlink | Да | Some | Файл нельзя удалить, переименовать или смонтировать; не поддерживается macOS |
Скрытый | скрытый | скрытый | Нет | FreeBSD | По умолчанию файл скрыт в графическом интерфейсе (но не в ls) |
Пользователь скрыт | uhidden | uhidden | Да | FreeBSD | Файл по умолчанию скрыт в графическом интерфейсе (но не в ls) |
Скрытый | скрытый | скрытый | Да | macOS | Файл по умолчанию скрыт в графическом интерфейсе (но не в ls) |
Отслеживается | отслеживается | отслеживается | Да | macOS | Отслеживаются изменения и удаления файлов |
Ограниченные | ограниченные | ограничено | Нет | macOS | Файл защищен Защитой целостности системы ; сопровождается расширенным атрибутом com.apple.rootless; необходимо установить или сбросить флаг в режиме восстановления |
сжатый | сжатый | нет | macOS | Файл сжат в формате HFS (только для чтения флаг); недоступно на APFS -форматированных томах | |
Data Vault | Нет | macOS | Флаг скрытой конфиденциальности, поскольку macOS Mojave установлен основная система для запрета любого доступа без специальных прав. |
Системы BSD предлагают дополнительные флаги, такие как offline, snapshot, sparse и uarchive ; см. Ссылки.
ATTRIB
- аналогичная команда в MS-DOS, OS / 2 и Microsoft Windowschown
- сменить владельца файла / каталога в системе Unixchmod
- изменить атрибуты контроля доступа к файлам в системе Unixcacls
- изменить списки контроля доступа к файлам в Microsoft Windows NTchattr (1)
– Linux Команды пользователя Руководство lsattr (1)
– Linux Команды пользователя Руководство chflags ( 1)
– OpenBSD Общие команды Руководство chflags (1)
– FreeBSD Общие команды Руководство chflags (1)
– NetBSD Общие Команды Руководство chflags (1)
– Darwin и macOS Общие команды Руководство (устарело; см. новую версию )