Jump to content

Расширенные атрибуты файла

(Перенаправлено из расширенных атрибутов )

Расширенные атрибуты файлов — это функции файловой системы , которые позволяют пользователям связывать компьютерные файлы с метаданными , не интерпретируемыми файловой системой, тогда как обычные атрибуты имеют цель, строго определенную файловой системой (например, разрешения или записи времени создания и изменения). В отличие от forks , размер которых обычно равен максимальному размеру файла, размер расширенных атрибутов обычно ограничен значением, значительно меньшим максимального размера файла. Типичное использование включает хранение автора документа, кодировки символов открытого текстового документа или контрольной суммы , криптографического хеша или цифрового сертификата , а также о дискреционном управлении доступом информации .

В Unix-подобных системах расширенные атрибуты обычно обозначаются сокращением xattr . [ 1 ]

Реализации

[ редактировать ]

В AIX файловая система JFS2 v2 поддерживает расширенные атрибуты, доступные с помощью команды команда getea . [ 2 ] готеа , [ 3 ] жажда , [ 4 ] список , [ 5 ] stateaстоял [ 6 ] и удалитьеа [ 7 ] API поддерживают выборку, настройку, перечисление, получение информации и удаление расширенных атрибутов.

BeOS/Хайку

[ редактировать ]

В ныне несуществующей BeOS и ее преемниках, таких как Haiku , расширенные атрибуты файлов широко используются в базовых и сторонних программах. Файловая система Be позволяет индексировать и запрашивать атрибуты, по существу придавая характеристикам, подобным базе данных файловой системы . Использование расширенных атрибутов в Be-подобных системах разнообразно: например, Tracker и OpenTracker , файловые менеджеры BeOS и Haiku соответственно, оба сохраняют расположение значков файлов в атрибутах. [ 8 ] Служба «Почта» Haiku хранит все содержимое сообщений и метаданные в расширенных атрибутах файла. [ 9 ] а файлы MIME-типов хранятся в их атрибутах. Расширенные атрибуты файлов можно просматривать и редактировать в графическом интерфейсе Be-подобных систем через файловый менеджер, часто Tracker или его производные.

В FreeBSD 5.0 ​​и более поздних версиях файловые системы UFS1 , UFS2 и ZFS поддерживают расширенные атрибуты, используя extattr_ [ 10 ] семейство системных вызовов. Любой обычный файл может иметь список расширенных атрибутов. Каждый атрибут состоит из имени и связанных с ним данных. Имя должно быть строкой с нулевым завершением и существовать в пространстве имен, определяемом небольшим целочисленным идентификатором пространства имен. В настоящее время существует два пространства имен: пользовательское и системное. Пространство имен пользователя не имеет ограничений в отношении именования или содержимого. Пространство имен системы в основном используется ядром для списков управления доступом и обязательного контроля доступа .

В Linux ext2 ext4 , ext3 , ReiserFS , JFS , Squashfs , UBIFS , Yaffs2 , Reiser4 , и , XFS , Btrfs , OrangeFS , Lustre , OCFS2 1.6 , ZFS . F2FS [ 11 ] файловые системы поддерживают расширенные атрибуты (сокращенно xattr ), если они включены в конфигурации ядра. Любой обычный файл или каталог может иметь расширенные атрибуты, состоящие из имени и связанных с ним данных. Имя должно представлять собой строку с нулевым завершением, перед которой стоит идентификатор пространства имен и точка. В настоящее время существует четыре пространства имен: пользовательское, доверенное, безопасность и системное. Пространство имен пользователя не имеет ограничений в отношении именования или содержимого. Пространство имен системы в основном используется ядром для списков управления доступом . Пространство имен безопасности используется SELinux , например, .

Поддержка концепции расширенного атрибута из проекта POSIX.1e. [ нужна ссылка ] который был отозван [ 12 ] в 1997 году был добавлен в Linux примерно в 2002 году. [ 13 ] [ 14 ] По состоянию на 2016 год они еще не получили широкого распространения в программах Linux в пользовательском пространстве, но используются Beagle , OpenStack Swift , Dropbox , KDE инфраструктурой семантических метаданных (Baloo), Chromium , Wget и cURL .

Ядро Linux позволяет расширенному атрибуту иметь имена длиной до 255 байт и значения до 64 КиБ. [ 15 ] как и XFS и ReiserFS , но ext2 / 3 / 4 и btrfs налагают гораздо меньшие ограничения, требуя, чтобы все атрибуты (имена и значения) одного файла помещались в один «блок файловой системы» (обычно 4 КиБ). Согласно POSIX.1e, [ нужна ссылка ] имена должны начинаться с одного из следующих значений: security , system , доверенный и user плюс точка. Это определяет четыре пространства имен расширенных атрибутов. [ 16 ]

Доступ к расширенным атрибутам и их изменение можно получить с помощью getfattr и setfattr команды из attr пакет в большинстве дистрибутивов. [ 17 ] API называются getxattr и setxattr.

Mac OS X 10.4 и более поздние версии поддерживают расширенные атрибуты за счет использования HFS+ файлов атрибутов файловой системы функции B*-дерева , которая позволяет создавать именованные ветки. Хотя именованные ответвления в HFS+ поддерживают сколь угодно большие объемы данных через экстенты, поддержка ОС расширенных атрибутов поддерживает только встроенные атрибуты, ограничивая их размер тем, который может поместиться в один узел B*-дерева. [ нужна ссылка ] Любой обычный файл может иметь список расширенных атрибутов. HFS+ поддерживает произвольное количество именованных вилок, и неизвестно, накладывает ли macOS какие-либо ограничения на количество расширенных атрибутов.

Каждый атрибут состоит из имени и связанных с ним данных. Имя представляет собой , завершающуюся нулем строку Юникода . Никаких ограничений пространства имен не существует (что делает эту систему открытой xattr ), и соглашением является использование обратной строки DNS (аналогично Uniform Type Identifiers ) в качестве имени атрибута.

macOS поддерживает листинг, [ 18 ] получающий, [ 19 ] параметр, [ 20 ] и удаление [ 21 ] расширенные атрибуты из файлов или каталогов с использованием Linux-подобного API. Из командной строки эти возможности доступны с помощью утилиты xattr . [ 22 ]

Начиная с macOS 10.5, файлы, полученные из Интернета, помечаются значком com.apple.quarantine через расширенные атрибуты файла. [ 23 ] В некоторых более старых версиях macOS (например, Mac OS X 10.6 ) расширенные атрибуты пользовательского пространства не сохранялись при сохранении в обычных Cocoa (TextEdit, Preview и т. д.). приложениях [ нужна ссылка ]

Поддержка расширенных атрибутов файлов была удалена из исходного кода OpenBSD в 2005 году из-за отсутствия интереса к спискам управления доступом . [ 24 ]

В OS/2 версии 1.2 и более поздних версиях высокопроизводительная файловая система была разработана с учетом расширенных атрибутов, но их поддержка была также добавлена ​​в файловую систему FAT DOS. Для совместимости с другими операционными системами, использующими раздел FAT, атрибуты OS/2 хранятся в одном файле. EA DATA. SF" расположен в корневом каталоге. Этот файл обычно недоступен, когда диском управляет операционная система, поддерживающая расширенные атрибуты, но им можно свободно манипулировать, например, в DOS. Файлы и каталоги, имеющие расширенные атрибуты, используют один или несколько кластеров внутри этого файла. Логический номер первого использованного кластера хранится внутри записи каталога владеющего файла или каталога . [ 25 ] Эти два байта используются в файловой системе FAT32 для других целей, и, следовательно, расширенные атрибуты OS/2 не могут храниться в этой файловой системе.

Части OS/2 версии 2.0 и более поздних версий, такие как Workplace Shell, используют несколько стандартизированных расширенных атрибутов (также называемых EA ) для таких целей, как определение типа файла, комментариев, значков компьютера и ключевых слов о файле. Программы, написанные на интерпретируемом языке Rexx, сохраняют уже проанализированную версию кода как расширенный атрибут, чтобы обеспечить более быстрое выполнение.

Solaris версии 9 и более поздних версий позволяет файлам иметь «расширенные атрибуты», которые на самом деле являются ответвлениями ; максимальный размер «расширенного атрибута» такой же, как максимальный размер файла, и они читаются и записываются так же, как файлы. Внутри они фактически хранятся и доступны как обычные файлы, поэтому их имена не могут содержать символы «/». [ 26 ] и их право собственности и разрешения могут отличаться от прав родительского файла.

Версия 4 сетевой файловой системы поддерживает расширенные атрибуты почти так же, как Solaris.

В Windows NT расширенные атрибуты ограниченной длины поддерживаются FAT . [ 25 ] HPFS и NTFS . Это было реализовано как часть подсистемы OS/2 . В частности, они используются сервером NFS подсистемы Interix POSIX для реализации разрешений, подобных Unix. Подсистема Windows для Linux , добавленная в юбилейном обновлении Windows 10, использует их для аналогичных целей, сохраняя режим файла Linux, владельца, идентификатор устройства (если применимо) и время файла в расширенных атрибутах. [ 27 ]

Кроме того, NTFS может хранить расширенные атрибуты произвольной длины в форме альтернативных потоков данных (ADS), типа ответвления ресурсов . Плагины для файлового менеджера Total Commander , такие как NTFS Descriptions и QuickSearch eXtended, поддерживают фильтрацию списка файлов или поиск метаданных, содержащихся в ADS. [ 28 ] [ 29 ] NTFS-3G поддерживает сопоставление ADS с расширенными атрибутами в FUSE ; таким же образом он сопоставляет атрибуты файлов. [ 30 ]

См. также

[ редактировать ]
  1. ^ xattr(7) Linux программиста Руководство – Обзор, условные обозначения и прочее
  2. ^ «Команда гетеа» . IBM AIX Документация V7.2 . ИБМ . Проверено 11 июля 2017 г.
  3. ^ «Подпрограмма getea» . Документация IBM AIX V7.2: Базовая операционная система и расширения, Том 1 . ИБМ . Проверено 11 июля 2017 г.
  4. ^ «Подпрограмма setea» . Документация IBM AIX V7.2: Базовая операционная система и расширения, том 2 . ИБМ . Проверено 11 июля 2017 г.
  5. ^ "Подпрограмма listea" . Документация IBM AIX V7.2: Базовая операционная система и расширения, Том 1 . ИБМ . Проверено 11 июля 2017 г.
  6. ^ «Подпрограмма состояния» . Документация IBM AIX V7.2: Базовая операционная система и расширения, том 2 . ИБМ . Проверено 11 июля 2017 г.
  7. ^ «Подпрограмма Removeea» . Документация IBM AIX V7.2: Базовая операционная система и расширения, том 2 . ИБМ . Проверено 11 июля 2017 г.
  8. ^ «Атрибуты» . Руководство пользователя Хайку . Хайку, Инк . Проверено 28 января 2021 г.
  9. ^ «Практикум: Управление электронной почтой» . Руководство пользователя Хайку . Хайку, Инк . Проверено 28 января 2021 г.
  10. ^ extattr(2) FreeBSD по системным вызовам Руководство
  11. ^ Ким, Джегык (5 октября 2012 г.). «[ИСПРАВЛЕНИЕ 13/16] f2fs: добавлены функции xattr и acl» . Проверено 11 июля 2017 г.
  12. ^ Шауфлер, Кейси (30 апреля 2002 г.). "Posix.1e?" . Группа новостей : comp.security.unix .
  13. ^ «Журнал фиксации git v2.5.3» . 05.02.2002 . Проверено 11 июля 2017 г.
  14. ^ «Примечания к выпуску Red Hat Enterprise Linux AS 3 (выпуск x86)» . Красная шляпа . 2003. Архивировано из оригинала 9 июля 2017 г. Проверено 11 июля 2017 г. Функции EA (расширенные атрибуты) и ACL (списки управления доступом) теперь доступны для файловых систем ext3. Кроме того, для NFS доступна функциональность ACL.
  15. ^ "linux/include/uapi/linux/limits.h" . 13 октября 2012 г. Проверено 11 июля 2017 г.
  16. ^ xattr(7) Linux программиста Руководство – Обзор, условные обозначения и прочее
  17. ^ «Команды для управления расширенными атрибутами файловой системы» . ГНУ Саванна . Проверено 11 июля 2017 г.
  18. ^ listxattr(2) Darwin и macOS по системным вызовам Руководство
  19. ^ getxattr(2) Darwin и macOS по системным вызовам Руководство
  20. ^ setxattr(2) Darwin и macOS по системным вызовам Руководство
  21. ^ removexattr(2) Darwin и macOS по системным вызовам Руководство
  22. ^ xattr(1) Darwin и macOS по общим командам Руководство
  23. ^ «Примечания к выпуску служб запуска» . разработчик.apple.com .
  24. ^ Дейл Ран (3 июля 2005 г.). «Журнал CVS для src/sys/ufs/ufs/Attic/extattr.h» .
  25. ^ Jump up to: а б Игер, Боб (28 октября 2000 г.). «Реализация расширенных атрибутов файловой системы FAT» . Проверено 11 июля 2017 г.
  26. ^ fsattr(7) Solaris 11.4. по стандартам, средам, макросам, наборам символов и прочему Справочное руководство
  27. ^ Хэммонс, Джек (15 июня 2016 г.). «Поддержка файловой системы WSL» . MSDN . Проверено 11 июля 2017 г.
  28. ^ «Описания NTFS 1.2.1» . TotalCmd.net . Проверено 16 апреля 2018 г.
  29. ^ «Расширенный быстрый поиск» . TotalCmd.net . Проверено 16 апреля 2018 г.
  30. ^ «Расширенные атрибуты» . Туксера . Архивировано из оригинала 14 августа 2020 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: eefba0dadda4b72d545c7774b70c5fde__1708553100
URL1:https://arc.ask3.ru/arc/aa/ee/de/eefba0dadda4b72d545c7774b70c5fde.html
Заголовок, (Title) документа по адресу, URL1:
Extended file attributes - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)