chattr - chattr

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

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

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

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

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

Помимо прочего, команда chattr полезна для того, чтобы сделать файлы неизменяемыми, чтобы файлы паролей и некоторые системные файлы не могли быть удалены во время обновления программного обеспечения.

Содержание
  • 1 В системах GNU / Linux (chattr и lsattr)
    • 1.1 Поддержка файловой системы
    • 1.2 chattr description
    • 1.3 lsattr description
    • 1.4 Атрибуты
      • 1.4.1 Примечания
  • 2 В BSD-подобных системах (chflags)
    • 2.1 Поддержка файловой системы
    • 2.2 Описание chflags
    • 2.3 Отображение
    • 2.4 Атрибутов
  • 3 См. Также
  • 4 Примечания
  • 5 Ссылки
В GNU / Системы Linux (chattr и lsattr)

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

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

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

описание chattr

Форма команды chattr:

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

lsattr description

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

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

Атрибуты

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

Атрибуты файлов в файловой системе Linux в соответствии с chattr (1)Linux страница руководства
Атрибутфлаг lsattrпараметр chattrСемантика и обоснование
Нет atimeобновляетA+A, чтобы установить. -Aдля очистки
  • При обращении к файлу с установленным атрибутом Aего в ime запись не изменяется.
  • Это позволяет избежать определенного количества дисковых операций ввода-вывода.
Добавить толькоa+a, чтобы установить. -aдля очистки
  • Файл с набор атрибутовможет быть открыт только в режиме добавления для записи.
Сжатыйc+cдля установки. -cдля очистки
  • Файл с установленным атрибутом cавтоматически сжатые на диске ядром.
  • Чтение из этого файла возвращает несжатые данные.
  • Запись в этот файл сжимает данные перед их сохранением на диске.
Без копирования -Write (CoW)C+Cдля установки. -Cна очистку
  • Файл с атрибутом Cне будет подвергаться обновлениям копирования при записи.
  • Обновления для эти файлы могут не подвергаться атомарным снимкам и могут не иметь некоторой информации о надежности для некоторых файловых систем и ядер.
Синхронные обновления каталогаD+Dдля установки. -Dна очистку
  • Когда каталог с Dнабор атрибутов изменен, изменения синхронно записываются на диск
  • Это эквивалентно dirsyncпараметр монтирования, примененный к подмножеству файлов.
Без дампаd+dдля установки. -dдля очистки
  • Файл с установленным атрибутом dне является кандидатом на резервное копирование при запуске программы дампа .
Ошибка сжатияE(недоступно)
  • Атрибут Eиспользуется экспериментальным сжатием исправления, указывающие на то, что в сжатом файле есть ошибка сжатия.
Формат экстентаe(недоступен)
  • Атрибут eуказывает, что файл использует экстенты для сопоставления блоки на диске.
Огромный файлh(недоступен)
  • Атрибут hуказывает, что файл сохраняет свои блоки в единицах размера блока файловой системы, а не в единицах секторов.
  • Это означает, что размер файла или когда-то был больше 2 ТБ.
Индексированный каталогI(недоступен)
  • Атрибут Iиспользуется тегом программа htree код, указывающий, что каталог индексируется с использованием хешированных деревьев.
Неизменяемыйi+iдля установки. -iна очистку
  • Файл с атрибутом iнельзя изменить.
  • Его нельзя удалить или переименовать, нельзя создать ссылку на этот файл, и в файл нельзя записать данные.
  • Когда установлено, предотвращает удаление или изменение содержимого файла даже суперпользователем.
Журнал данныхj+jдля установки. -jна очистку
  • Файл с j Атрибутимеет все данные, записанные в журнал ext3 перед записью в сам файл, если файловая система смонтирована с "data = orders"или "data=writeback"options.
  • Когда файловая система смонтирована с параметром "data = journal", все данные файла уже занесены в журнал, поэтому этот атрибут не действует.
Безопасное удалениеs+sдля установки. -sна очистку
Синхронные обновленияS+Sдля установки. -Sна очистку
  • Когда файл с установленным атрибутом Sизменяется, изменения записываются синхронно на диск; это эквивалентно опции монтирования «синхронизация», применяемой к подмножеству файлов.
  • Это эквивалентно syncопции монтирования, применяемой к подмножеству файлов файлы.
Вершина иерархии каталоговT+Tдля установки. -Tна очистку
  • Каталог с атрибутом Tбудет считаться верхним в иерархии каталогов для целей Распределитель блоков Орлова.
  • Это подсказка распределителю блоков, используемому ext3 и ext4, что подкаталоги в этом каталоге не связаны, и, таким образом, должны быть разделены для целей распределения.
  • Например: очень хорошая идея установить атрибут Tв каталоге / ​​home, чтобы / ​​home / johnи / ​​home / maryпомещаются в отдельные группы блоков.
  • Для каталогов, где этот атрибут не установлен, распределитель блоков Орлова попытается сгруппируйте подкаталоги ближе друг к другу, где это возможно.
Без объединения хвостовt+t, чтобы установить. -tна очистку
  • Для этого файла В системах, которые поддерживают слияние хвостов, файл с атрибутом tне будет иметь фрагмент частичного блока в конце файла, объединенного с другими файлами.
  • Это необходим для таких приложений, как LILO, которое читает файловую систему напрямую и не понимает файлы с объединенными хвостами.
Undeletableu+u, чтобы установить. -uна очистку
  • Когда файл с набор атрибутов uудаляется, его содержимое сохраняется.
  • Это позволяет пользователю запрашивать его отмену удаления.
необработанный доступ к сжатиюX(недоступно)
  • Атрибут Xиспользуется экспериментальными патчами сжатия, чтобы указать, что к необработанному содержимому сжатого файла можно получить прямой доступ.
Сжатый грязный файлZ(недоступен)
  • Атрибут Zиспользуется экспериментальными исправлениями сжатия, чтобы указать, что сжатый файл является «грязным».
Номер версии / поколения-v-v версия
  • Номер версии / поколения файла.

Примечания

В 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-подобных систем, как правило, не имеет пользователей по умолчанию. команда level специально предназначена для отображения флагов файла. Команда ls работает с переданными флагами -loили -10, в зависимости от системы.

Атрибуты

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

Атрибуты файла
Атрибутls flagchflags flagНастраиваемая владельцемПоддержка ОССемантика и обоснование
В архивеarcharch, в архивеНетВсеФайл в архиве
НепрозрачныйнепрозрачныйнепрозрачныйДаВсеКаталог непрозрачен при просмотре через объединенное монтирование
Без дампаnodumpnodumpДаВсеНевозможно создать дамп файла
Системное добавление толькоsappndsappnd, sappendНетВсеСуществующие данные в файле нельзя перезаписать и файл нельзя усечь
Только добавление пользователяuappnduappnd, uappendДаВсеСуществующие данные в файле нельзя перезаписать, а файл нельзя усечь
Неизменяемый системныйschgschg, schange, simmutableНетВсеФайл нельзя изменить, переименовать, переместить или удалить
Нам er неизменяемыйuchguchg, uchange, uimmutableДаВсеФайл нельзя изменить, переименовать, переместить или удалено
System no-unlinksunlnksunlnk, sunlinkНетВсеФайл нельзя удалить, переименовать или смонтировать; в macOS этот флаг необходимо установить или сбросить в однопользовательском режиме
User no-unlinkuunlnkuunlnk, uunlinkДаSomeФайл нельзя удалить, переименовать или смонтировать; не поддерживается macOS
СкрытыйскрытыйскрытыйНетFreeBSDПо умолчанию файл скрыт в графическом интерфейсе (но не в ls)
Пользователь скрытuhiddenuhiddenДа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 Windows
  • chown - сменить владельца файла / каталога в системе Unix
  • chmod - изменить атрибуты контроля доступа к файлам в системе Unix
  • cacls - изменить списки контроля доступа к файлам в Microsoft Windows NT
Примечания
Ссылки
Последняя правка сделана 2021-05-14 08:51:28
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте