stringtranslate.com

Атрибут файла

Атрибуты файлов — это тип метаданных , которые описывают и могут изменять поведение файлов и/или каталогов в файловой системе . Типичные атрибуты файла могут, например, указывать или указывать, является ли файл видимым, изменяемым, сжатым или зашифрованным. Доступность большинства атрибутов файлов зависит от поддержки базовой файловой системы (например, FAT , NTFS , ext4 ), где данные атрибутов должны храниться вместе с другими структурами управления. Каждый атрибут может иметь одно из двух состояний: установленное и очищенное. Атрибуты считаются отличными от других метаданных, таких как даты и время, расширения имен файлов или разрешения файловой системы . Помимо файлов, атрибуты могут иметь папки , тома и другие объекты файловой системы.

ДОС и Windows

Традиционно в DOS и Microsoft Windows файлы и папки принимали четыре атрибута: [1] [2] [3]

По мере выхода новых версий Windows Microsoft добавила в список доступных атрибутов файловой системы NTFS , [7] включая, помимо прочего: [8]

Другие атрибуты, отображаемые в столбце «Атрибуты» проводника Windows [7], включают:

В DOS, OS/2 и Windows attribкоманды cmd.exe и command.com можно использовать для изменения и отображения четырех традиционных атрибутов файла. [3] [9] Проводник в Windows может отображать семь упомянутых атрибутов, но не может устанавливать или очищать системный атрибут. [5] Windows PowerShell , ставшая компонентом Windows 7 и более поздних версий, содержит две команды, которые могут читать и записывать атрибуты: Get-ItemPropertyи Set-ItemProperty. [10] Чтобы изменить атрибут файла в Windows NT , пользователь должен иметь соответствующие разрешения файловой системы , известные как « Запись атрибутов» и «Запись расширенных атрибутов» . [11]

Юникс и POSIX

В Unix и Unix-подобных системах, включая POSIX -совместимые системы, каждый файл имеет «режим», содержащий 9-битные флаги, управляющие разрешениями на чтение, запись и выполнение для каждого владельца файла, группы и всех других пользователей (см. Разрешения файловой системы) . §Традиционные разрешения Unix для получения более подробной информации), а также битовые флаги setuid и setgid и битовый флаг «липкий» . Режим также определяет тип файла (обычный файл, каталог или какой-либо другой специальный тип).

4.4BSD и производные

В 4.4BSD и 4.4BSD-Lite файлы и каталоги (папки) принимали четыре атрибута, которые могли быть установлены владельцем файла или суперпользователем (атрибуты «Пользователь»), и два атрибута, которые могли быть установлены только суперпользователем ( атрибуты «Система»): [12]

Во FreeBSD добавлены некоторые дополнительные атрибуты, [13] также поддерживаемые DragonFly BSD : [14]

FreeBSD также поддерживает: [13]

тогда как DragonFly BSD поддерживает: [14]

В NetBSD добавлен еще один атрибут, [15] также поддерживаемый OpenBSD : [16]

macOS добавил три атрибута:

В этих системах команды chflagsи lsможно использовать для изменения и отображения атрибутов файла. Чтобы изменить атрибут «пользователь» файла в операционных системах, производных от 4.4BSD, пользователь должен быть владельцем файла или суперпользователем; чтобы изменить атрибут «система», пользователь должен быть суперпользователем.

Линукс

Операционная система Linux может поддерживать широкий спектр атрибутов файлов , которые могут быть перечислены с помощью команды и изменены, где это возможно, с помощью этой команды. Программы могут проверять и изменять атрибуты с помощью операций ioctl . [18]lsattrchattr

Многие файловые системы Linux поддерживают только ограниченный набор атрибутов, и ни одна из них не поддерживает все атрибуты, которые chattrмогут изменяться. К файловым системам, поддерживающим хотя бы некоторые атрибуты, относятся ext4 , XFS и btrfs .

OpenSolaris и производные

Поддержка «системных атрибутов» (значение которых определяет операционная система, в отличие от общих расширенных атрибутов файлов ) была добавлена ​​в OpenSolaris в 2007 году для поддержки сервера CIFS. [19] Отсюда он был перенесен как в выпуски Oracle Solaris 11, так и в проект Illumos с открытым исходным кодом .

В этой реализации широкий спектр атрибутов может быть установлен с помощью chmodкоманды [20] [21] и перечислен с помощью lsкоманды. [22] [23] Программы могут проверять и изменять атрибуты с помощью функций getattratи setattrat. [24] [25]

В настоящее время файловая система ZFS поддерживает все определенные атрибуты, а начиная с Oracle Solaris 11.2 файловая система tmpfs поддерживает подмножество атрибутов. [26]

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

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

  1. ^ «Определение: атрибут файла» . Журнал ПК . Зифф Дэвис . Проверено 14 октября 2020 г. .
  2. ^ «Атрибуты файла». Компьютерная надежда . Проверено 2 декабря 2012 г.
  3. ^ ab «Что такое атрибуты файлов в Windows и как их изменить?». База знаний . Университет Индианы . 11 октября 2011 года . Проверено 2 декабря 2012 г.
  4. ^ «Что такое скрытый файл?». Справка по Windows 7 . Майкрософт . Проверено 2 декабря 2012 г.
  5. ^ ab «Вы не можете просмотреть или изменить атрибуты папок «Только для чтения» или «Система» в Windows Server 2003, в Windows XP, в Windows Vista или в Windows 7». Поддержка Майкрософт . Майкрософт. 31 мая 2012 года . Проверено 2 декабря 2012 г.
  6. ^ «Почему свойство readonly для папок такое странное?»
  7. ^ ab «Константы атрибутов файла». MSDN . Майкрософт . Проверено 17 июля 2018 г.
  8. ^ «КАК: Использовать сценарий управления атрибутами файлов (Fileattributes.pl) в Windows 2000» . Поддержка Майкрософт . Майкрософт . Проверено 2 декабря 2012 г.
  9. ^ «Определение: атрибут DOS» . Журнал ПК . Зифф Дэвис . Проверено 2 декабря 2012 г.
  10. ^ «Используйте командлет PowerShell для работы с атрибутами файлов» . Привет, сценарист! Блог . Майкрософт. 26 января 2011 года . Проверено 3 декабря 2012 г.
  11. ^ «Как установить, просмотреть, изменить или удалить специальные разрешения для файлов и папок в Windows XP». Поддержка Майкрософт . Майкрософт. 7 мая 2007 года . Проверено 2 декабря 2012 г.
  12. ^ chflags(2)  -  Руководство по системным вызовам BSD
  13. ^ ab chflags(2) -  Руководство по системным вызовам FreeBSD
  14. ^ ab chflags(2) -  Руководство по системным вызовам и номерам ошибок DragonFly BSD
  15. ^ chflags(2)  -  Руководство по системным вызовам NetBSD
  16. ^ chflags(2)  -  Руководство по системным вызовам OpenBSD
  17. ^ chflags(2)  -  Руководство по системным вызовам Darwin и macOS
  18. ^ ioctl_iflags(2)  -  Руководство программиста Linux - Системные вызовы
  19. ^ Шелленбаум, Марк. «Расширяемые интерфейсы атрибутов [PSARC/2007/315]». Архив материалов OpenSolaris ARC . иллюмос.орг . Проверено 10 марта 2023 г.
  20. ^ "chmod(1)". Справочная библиотека Oracle Solaris 11.4: раздел 1 страниц руководства: Пользовательские команды . Оракул . Проверено 10 марта 2023 г.
  21. ^ "chmod(1)". man-страницы Illumos . иллюмос.орг . Проверено 10 марта 2023 г.
  22. ^ "ls(1)". Справочная библиотека Oracle Solaris 11.4: раздел 1 страниц руководства: Пользовательские команды . Оракул . Проверено 10 марта 2023 г.
  23. ^ "ls(1)". man-страницы Illumos . иллюмос.орг . Проверено 10 марта 2023 г.
  24. ^ "getattrat(3c)/setattrat(3c)". Справочная библиотека Oracle Solaris 11.4: раздел 3 страниц руководства: Основные функции библиотеки . Оракул . Проверено 10 марта 2023 г.
  25. ^ "getattrat(3c)/setattrat(3c)". man-страницы Illumos . иллюмос.орг . Проверено 10 марта 2023 г.
  26. ^ "sysattr(7)" . Справочная библиотека Oracle Solaris 11.4: раздел 7 страниц руководства . Оракул . Проверено 10 марта 2023 г.

Внешние ссылки