WikiDer > Chattr - Википедия

chattr - Wikipedia

болтать
Оригинальный автор (ы)Реми Кард
Операционная системаGNU/Linux
ПлатформаКроссплатформенность
ТипКоманда
chflags
Операционная системаBSD-подобные системы, включая macOS
ПлатформаКроссплатформенность
ТипКоманда

болтать это команда в Операционная система GNU (с ядром Linux) что позволяет пользователю устанавливать определенные атрибуты файла. lsattr - команда, отображающая атрибуты файла.

Наиболее BSD-подобные системы, включая macOS, всегда были аналогичные chflags команда для установки атрибутов, но нет команды, специально предназначенной для их отображения; конкретные варианты ls вместо этого используются команды. Команда chflags впервые появилась в 4.4BSD.

Солярис не имеет команд, специально предназначенных для управления ими. chmod[1] и ls[2] вместо этого используются.

Другой UnixАналоговых команд, вообще, нет. Сходно звучащие команды чатр (из HP-UX) и lsattr (из AIX) существуют, но имеют несвязанные функции.

Среди прочего, болтать Команда полезна, чтобы сделать файлы неизменяемыми, чтобы файлы паролей и некоторые системные файлы нельзя было стереть во время обновления программного обеспечения.[3]

В GNU/Системы Linux (болтать и lsattr)

Поддержка файловой системы

Инструменты командной строки болтать (для управления атрибутами) и lsattr (для перечисления атрибутов) изначально относились к семейству Второй расширенной файловой системы (ext2, ext3, ext4) и доступны как часть e2fsprogs упаковка.

Однако с тех пор функциональность была расширена, полностью или частично, на многие другие системы, в том числе XFS, ReiserFS, JFS и OCFS2. Файловая система btrfs включает в себя функции атрибутов, включая C флаг, который отключает встроенную функцию копирования при записи (CoW) в btrfs из-за более низкой производительности, связанной с CoW.

болтать описание

Форма болтать команда:

 болтать [-RVf] [-+=AacDdijsTtSu] [-v версия] файлы ...
  • рекурсивно изменяет атрибуты каталогов и их содержимое
  • -V должен быть подробным и печатать версию программы
  • -f подавляет большинство сообщений об ошибках

lsattr описание

Форма lsattr команда (GNU 1.41.3):

 lsattr [ -RVadv ] [ файлы ... ]
  • рекурсивно перечисляет атрибуты каталогов и их содержимое
  • -V отображает версию программы
  • перечисляет все файлы в каталогах, включая точечные файлы
  • -d перечисляет каталоги, как и другие файлы, а не перечисляет их содержимое

Атрибуты

Некоторые атрибуты включают:

Атрибуты файлов в файловой системе Linux в соответствии с чат (1) Справочная страница Linux
Атрибутlsattr флагболтать вариантСемантика и обоснование
Нет время обновленияА+ А устанавливать
очистить
  • Когда файл с А набор атрибутов доступен, его время записывать не модифицируется.
  • Это позволяет избежать определенного количества дисковых операций ввода-вывода.
Только добавитьа+ а устанавливать
очистить[примечание 1]
  • Файл с а набор атрибутов может быть открыт только в режиме добавления для записи.
Сжатыйc+ c устанавливать
-c очистить[заметка 2]
  • Файл с c набор атрибутов автоматически сжимается на диске ядром.
  • Чтение из этого файла возвращает несжатые данные.
  • Запись в этот файл сжимает данные перед их сохранением на диске.
Без копирования при записи (CoW)C+ C устанавливать
-C очистить[заметка 3]
  • Файл с C Атрибут не подлежит обновлению Copy-on-Write.
  • Обновления этих файлов могут не подлежать атомарным снимкам и могут не иметь некоторой информации о надежности некоторых файловых систем и ядер.
Синхронные обновления каталогаD+ D устанавливать
-D очистить
  • Когда каталог с D набор атрибутов модифицируется, изменения синхронно записываются на диск
  • Это эквивалентно dirsync вариант крепления, примененный к подмножеству файлов.
Нет свалкиd+ d устанавливать
-d очистить
  • Файл с d набор атрибутов не является кандидатом для резервного копирования, когда свалка программа запущен.
Ошибка сжатияE(недоступен)
  • В E Атрибут используется экспериментальными патчами сжатия, чтобы указать, что в сжатом файле есть ошибка сжатия.
Формат экстентае(недоступен)
  • В е атрибут указывает, что файл использует экстенты для отображения блоков на диске.
Огромный файлчас(недоступен)
  • В час Атрибут указывает, что файл хранит свои блоки в единицах размера блока файловой системы, а не в единицах секторов.
  • Это означает, что размер файла или когда-то был больше 2 ТБ.
Индексированный каталогя(недоступен)
  • В я атрибут используется htree программа код, указывающий, что каталог индексируется с использованием хешированных деревьев.
Неизменныйя+ я устанавливать
очистить[примечание 1]
  • Файл с я атрибут не может быть изменен.
  • Его нельзя удалить или переименовать, создать ссылку на этот файл и записать в него данные нельзя.
  • Когда установлено, предотвращает, даже суперпользователь, от стирания или изменения содержимого файла.
Ведение журнала данныхj+ j устанавливать
-j очистить[примечание 4]
  • Файл с j все данные атрибута записаны в ext3 journal перед записью в сам файл, если файловая система смонтирована с "данные = заказано" или же "данные = обратная запись" опции.
  • Когда файловая система смонтирована с "данные = журнал" опция все данные файла уже записанный, поэтому этот атрибут не действует.
Безопасное удалениеs+ с устанавливать
-s очистить[заметка 2][примечание 5]
Синхронные обновленияS+ S устанавливать
-S очистить
  • Когда файл с S набор атрибутов модифицируется, изменения синхронно записываются на диск; это эквивалентно опции монтирования «синхронизация», применяемой к подмножеству файлов.
  • Это эквивалентно синхронизировать вариант крепления, примененный к подмножеству файлов.
Вершина иерархии каталоговТ+ Т устанавливать
-T очистить
  • Каталог с Т будет считаться верхним в иерархии каталогов для целей Распределитель блоков Орлова.
  • Это подсказка к распределителю блоков, используемому ext3 и ext4 что подкаталоги в этом каталоге не связаны между собой и поэтому должны быть разделены для целей распределения.
  • Например: очень хорошая идея установить Т атрибут на /дома каталог, так что / home / john и / домой / Мэри помещены в отдельные группы блоков.
  • Для каталогов, где этот атрибут не установлен, распределитель блоков Орлова будет пытаться сгруппировать подкаталоги ближе друг к другу, где это возможно.
Нет слияния хвостовт+ т устанавливать
-t очистить
  • Для тех файловых систем, которые поддерживают слияние хвостов, файл с т атрибут не будет иметь фрагмент частичного блока в конце файла, объединенного с другими файлами.
  • Это необходимо для таких приложений, как LILO, который читает файловую систему напрямую и не понимает файлы с хвостовым слиянием.
Неудаляемыйты+ ты устанавливать
-u очистить[заметка 2]
  • Когда файл с ты набор атрибутов удаляется, его содержимое сохраняется.
  • Это позволяет пользователю запрашивать восстановление.
Сжатие необработанного доступаИкс(недоступен)
  • В Икс Атрибут используется экспериментальными патчами сжатия, чтобы указать, что к необработанному содержимому сжатого файла можно получить прямой доступ.
Сжатый грязный файлZ(недоступен)
  • В Z Атрибут используется экспериментальными патчами сжатия, чтобы указать, что сжатый файл «грязный».
Номер версии / поколения-v-v версия
  • Номер версии / поколения файла.

Примечания

  1. ^ а б Только суперпользователь или процесс, обладающий CAP_LINUX_IMMUTABLE Возможность может устанавливать или очищать эти атрибуты.
  2. ^ а б c Эти атрибуты не соблюдаются ext2 и ext3 файловые системы, реализованные в текущих основных ядрах Linux.
  3. ^ Эти атрибуты имеют смысл только для файловых систем с копированием при записи, таких как btrfs.
  4. ^ Только суперпользователь или процесс, обладающий CAP_SYS_RESOURCE Возможность может установить или сбросить этот атрибут.
  5. ^ Этот атрибут не соблюдается ext4 файловая система, реализованная в текущих основных ядрах Linux как сообщается в Ошибке № 17872.

В BSD-подобных системах (chflags)

Поддержка файловой системы

В chflags команда не относится к конкретной файловой системе. УФС в системах BSD и APFS, HFS +, SMB, AFP, и ТОЛСТЫЙ на macOS поддерживают хоть какие-то флаги.

chflags описание

Форма chflags команда:

 chflags [[-ЧАС | -L |]] файл флагов ...
  • -ЧАС Если указана опция -R, следуют символические ссылки в командной строке. (Символические ссылки, встречающиеся при обходе дерева, не поддерживаются.)
  • -L Если указана опция -R, будут следовать все символические ссылки.
  • Если указана опция -R, переход по символическим ссылкам не выполняется. Это значение по умолчанию.
  • Измените флаги файлов для файловых иерархий, основанных на файлах, а не только на самих файлах.

Отображение

BSD-подобные системы, как правило, не имеют команды уровня пользователя по умолчанию, специально предназначенной для отображения флагов файла. В ls команда будет делать либо с -ло, или -10в зависимости от системы пройденные флаги.

Атрибуты

Все традиционные атрибуты могут быть установлены или сброшены суперпользователем; некоторые из них также могут быть установлены или удалены владельцем файла. Некоторые атрибуты включают:

Атрибуты файла
Атрибутls флагchflags флагНастраиваемый владельцемПоддержка ОССемантика и обоснование
В архивеаркаарка, в архивеНетВсеФайл заархивирован
НепрозрачныйнепрозрачныйнепрозрачныйдаВсеКаталог непрозрачен при просмотре через объединенное крепление
Нет свалкикивнутькивнутьдаВсеФайл не может быть выгружен
Только добавление системысаппендсаппд, саппендНетВсеСуществующие данные в файле нельзя перезаписать и файл нельзя усечь.
Только добавление пользователяuappnduappnd, перевернутьдаВсеСуществующие данные в файле нельзя перезаписать, а файл нельзя усечь.
Система неизменнасчгсчг, менять, совместимыйНетВсеФайл нельзя изменить, переименовать, переместить или удалить
Неизменяемый пользователемучгучг, обмен, непреложныйдаВсеФайл нельзя изменить, переименовать, переместить или удалить
Система не отключенасолнцеsunlnk, sunlinkНетВсеФайл нельзя удалить, переименовать или смонтировать; в macOS этот флаг необходимо установить или снять с однопользовательский режим
Пользователь не отменяет связьuunlnkuunlnk, uunlinkдаНемногоФайл нельзя удалить, переименовать или смонтировать; не поддерживается macOS
СкрытыйскрытыйскрытыйНетFreeBSDПо умолчанию файл скрыт в графическом интерфейсе (но не в ls)
Пользователь скрытскрытыйскрытыйдаFreeBSDПо умолчанию файл скрыт в графическом интерфейсе (но не в ls)
СкрытыйскрытыйскрытыйдаmacOSПо умолчанию файл скрыт в графическом интерфейсе (но не в ls)
ОтслеживаютсяотслеживаютсяотслеживаютсядаmacOSОтслеживаются изменения и удаления файлов
ОграниченныйограниченныйограниченныйНетmacOSФайл защищен Защита целостности системы; в сопровождении расширенный атрибут com.apple.rootless; необходимо установить или снять флаг в режиме восстановления
СжатыйсжатыйНетmacOSФайл HFS-сжатый (флаг только для чтения); недоступно на APFS-форматированные тома
Хранилище данныхНетmacOSСкрытый флаг конфиденциальности с macOS Mojave установлен основной системой, чтобы запретить любой доступ без специальных прав

Системы BSD предлагают дополнительные флаги, например не в сети, снимок, редкий,[4] и архивировать; видеть Рекомендации.

Смотрите также

  • АТРИБ - аналогичная команда в MS-DOS, OS / 2 и Microsoft Windows
  • Chown - изменить владельца файла / каталога в системе Unix
  • chmod - изменить атрибуты управления доступом к файлам в системе Unix
  • cacls - изменить списки контроля доступа к файлам в Microsoft Windows NT

Примечания

  1. ^ chmod (1) – иллюзия и OpenSolaris Справочник по командам пользователя Руководство из последних основанных на Sun OpenSolaris
  2. ^ ls (1) – иллюзия и OpenSolaris Справочник по командам пользователя Руководство из последних основанных на Sun OpenSolaris
  3. ^ chflags (1) – OpenBSD Общие команды Руководство
  4. ^ В отличие от APFS редкий файлы на macOS, у которых нет специальных флагов.

Рекомендации