чаттр
Оригинальный автор(ы) | Реми Кард |
---|---|
Операционная система | Линукс |
Платформа | Кросс-платформенный |
Тип | Команда |
Операционная система | BSD-подобные системы , включая macOS |
---|---|
Платформа | Кросс-платформенный |
Тип | Команда |
chattr — это команда в Linux , которая позволяет пользователю устанавливать определенные атрибуты файла. lsattr — это команда, отображающая атрибуты файла.
Большинство BSD-подобных систем , включая macOS , всегда имели аналогичный команда chflags для установки атрибутов, но нет команды, специально предназначенной для их отображения; конкретные варианты для ls Вместо этого используется команда . Команда chflags впервые появилась в 4.4BSD .
В Solaris нет команд, специально предназначенных для управления ими. chmod [ 1 ] и лс [ 2 ] вместо этого используются.
Другие Unix-подобные операционные системы вообще не имеют аналогичных команд. Похожие по звучанию команды чатр (из HP-UX ) и lsattr (из AIX ) существует, но имеет несвязанные функции.
Среди прочего, Команда chatr полезна для того, чтобы сделать файлы неизменяемыми, чтобы файлы паролей и некоторые системные файлы не могли быть удалены во время обновлений программного обеспечения. [ 3 ]
В системах Linux ( чаттр и лсаттр )
[ редактировать ]Поддержка файловой системы
[ редактировать ]Инструменты командной строки чаттр (для управления атрибутами) и lsattr (для вывода списка атрибутов) изначально был специфичен для семейства второй расширенной файловой системы ( ext2 , ext3 , ext4 ) и доступен как часть пакета e2fsprogs .
Однако с тех пор функциональность была расширена, полностью или частично, на многие другие системы, включая XFS , ReiserFS , JFS и OCFS2 . Файловая система btrfs включает в себя функциональные возможности атрибутов, включая C
флаг, который отключает встроенную функцию копирования при записи (CoW) btrfs из-за снижения производительности, связанной с CoW.
чата описание
[ редактировать ]Форма команда чаттр :
chattr [-RVf] [-+=AacDdijsTtSu] [-v version] files...
-R
рекурсивно изменяет атрибуты каталогов и их содержимое-V
должно быть многословным и печатать версию программы-f
подавляет большинство сообщений об ошибках
lsattr описание
[ редактировать ]Форма Команда lsattr (gnu 1.41.3):
lsattr [ -RVadv ] [ files... ]
-R
рекурсивно перечисляет атрибуты каталогов и их содержимое-V
отображает версию программы-a
выводит список всех файлов в каталогах, включая точечные файлы-d
перечисляет каталоги, как и другие файлы, а не перечисляет их содержимое
Атрибуты
[ редактировать ]Некоторые атрибуты включают в себя:
Атрибут | lsattr флаг | чата опция | Семантика и обоснование |
---|---|---|---|
Нет 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
|
|
Примечания
[ редактировать ]- ^ Jump up to: а б Только суперпользователь или процесс, обладающий
CAP_LINUX_IMMUTABLE
возможность может устанавливать или очищать эти атрибуты. - ^ Jump up to: а б с Эти атрибуты не соблюдаются ext2 и файловые системы ext3 , реализованные в текущих основных ядрах Linux.
- ^ Эти атрибуты имеют смысл только для файловых систем с копированием при записи, таких как бтрфс .
- ^ Только суперпользователь или процесс, обладающий
CAP_SYS_RESOURCE
возможность может установить или очистить этот атрибут. - ^ Этот атрибут не учитывается файловая система ext4 , реализованная в текущих основных ядрах Linux, как описано в ошибке № 17872 .
В BSD-подобных системах ( чфлаги )
[ редактировать ]Поддержка файловой системы
[ редактировать ]The Команда chflags не зависит от конкретной файловой системы. UFS в системах BSD, а также APFS , HFS+ , SMB , AFP и FAT в macOS поддерживают по крайней мере некоторые флаги.
chflags описание
[ редактировать ]Форма команда chflags :
chflags [-R [-H | -L | -P]] flags file ...
-H
Если указана опция -R, переходят по символическим ссылкам в командной строке. (Символические ссылки, встречающиеся при обходе дерева, не обрабатываются.)-L
Если указана опция -R, выполняются все символические ссылки.-P
Если указана опция -R, символические ссылки не выполняются. Это значение по умолчанию.-R
Измените флаги файлов для иерархий файлов, основанных на файлах, а не только на самих файлах.
Отображение
[ редактировать ]BSD-подобные системы, как правило, не имеют команд пользовательского уровня по умолчанию, специально предназначенных для отображения флагов файла. ls Команда подойдет либо для -lo
или -lO
, в зависимости от системы, флаги передавались.
Атрибуты
[ редактировать ]Все традиционные атрибуты могут быть установлены или удалены суперпользователем; некоторые из них также могут быть установлены или удалены владельцем файла. Некоторые атрибуты включают в себя:
Атрибут | ls флаг | chflags флаг | Устанавливается владельцем | Поддержка ОС | Семантика и обоснование |
---|---|---|---|---|---|
В архиве | арка | арка , в архиве | Нет | Все | Файл заархивирован |
Непрозрачный | непрозрачный | непрозрачный | Да | Все | Каталог непрозрачен при просмотре через объединенное монтирование |
Нет дампа | нодамп | нодамп | Да | Все | Файл нельзя сбросить |
Система только для добавления | саппнд | саппнд , выжимание сока | Нет | Все | Существующие данные в файле не могут быть перезаписаны, а файл не может быть усечен. |
Только добавление пользователя | uappnd | уапппнд , добавить | Да | Все | Существующие данные в файле не могут быть перезаписаны, а файл не может быть усечен. |
Система неизменна | шг | чёрт , поменять , взаимозаменяемый | Нет | Все | Файл нельзя изменить, переименовать, переместить или удалить. |
Неизменяемый пользователь | три | uchgтри вы будете неизменяемый | Да | Все | Файл нельзя изменить, переименовать, переместить или удалить. |
Система не отсоединяется | солнце | санлинк, санлинк | Нет | FreeBSD, DragonFly BSD, macOS | Файл нельзя удалить, переименовать или смонтировать; в macOS этот флаг необходимо установить или снять в однопользовательском режиме |
Пользователь не отсоединяется | печь | уотлинк, уунлинк | Да | FreeBSD, DragonFly BSD | Файл нельзя удалить, переименовать или смонтировать на |
Скрытый | скрытый | скрытый, нескрытый | Да | macOS, FreeBSD | Файл по умолчанию скрыт в графическом интерфейсе (но не в лс ) |
Отслеживается | отслеживается | отслеживается | Да | macOS | Изменения и удаления файлов отслеживаются. |
Ограниченный | ограниченный | ограниченный | Нет | macOS | Файл защищен защитой целостности системы ; сопровождается расширенным атрибутом com.apple.rootless ; флаг необходимо установить или снять в режиме восстановления |
Сжатый | сжатый | Нет | macOS | Файл сжат HFS (флаг только для чтения); недоступно на APFS. томах в формате | |
Хранилище данных | Нет | macOS | Скрытый флаг конфиденциальности, поскольку macOS Mojave базовая система запрещает любой доступ без специальных прав. | ||
Оффлайн | офлайн | офлайн, не в сети | Да | FreeBSD | Файл не в сети |
Снимок | снимок | Нет | FreeBSD, НетБСД | Файл представляет собой файл моментального снимка (флаг только для чтения) | |
Редкий | редкий | редкий, редкий | Да | FreeBSD | Запись всех нулей может быть записана как «дырки». |
Должно быть заархивировано | высокий | уарх, архив | Да | FreeBSD | Файл необходимо заархивировать |
См. также
[ редактировать ]ATTRIB
– аналогичная команда в MS-DOS, OS/2 и Microsoft Windowschown
– изменить владельца файла/каталога в системе Unixchmod
– изменить атрибуты контроля доступа к файлам в системе Unixcacls
– изменить списки контроля доступа к файлам в Microsoft Windows NT
Примечания
[ редактировать ]- ^ по пользовательским командам illumos и OpenSolaris Справочное руководство из последней версии OpenSolaris на базе Sun. –
- ^ по пользовательским командам illumos и OpenSolaris Справочное руководство из последней версии OpenSolaris на базе Sun. –
- ^ OpenBSD по общим командам Руководство –
Ссылки
[ редактировать ]- Linux пользователя по командам Руководство –
- Linux пользователя по командам Руководство –
- OpenBSD по общим командам Руководство –
- FreeBSD по основным командам Руководство –
- NetBSD по общим командам Руководство –
- Darwin и macOS по общим командам Руководство (устарело; см. более новую версию ) –
- stat.h (раздел флагов в исходном коде системы BSD ядра macOS XNU )