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 может отображать семь упомянутых атрибутов, но не может устанавливать или очищать атрибут System. [5] Windows PowerShell , который стал компонентом Windows 7 и более поздних версий, содержит две команды, которые могут читать и записывать атрибуты: Get-ItemPropertyи Set-ItemProperty. [10] Чтобы изменить атрибут файла в Windows NT , пользователь должен иметь соответствующие разрешения файловой системы, известные как Write Attributes и Write Extended Attributes . [11]

Unix и 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 может поддерживать широкий спектр атрибутов файлов , которые могут быть перечислены командой lsattrи изменены, где это возможно, командой chattr. Программы могут проверять и изменять атрибуты с помощью операций ioctl . [18]

Многие файловые системы 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. ^ "Определение: атрибут файла". PC Magazine . Ziff Davis . Получено 14 октября 2020 г. .
  2. ^ "Атрибуты файла". Computer Hope . Получено 2 декабря 2012 г.
  3. ^ ab "Что такое атрибуты файлов в Windows и как их изменить?". База знаний . Университет Индианы . 11 октября 2011 г. Получено 2 декабря 2012 г.
  4. ^ "Что такое скрытый файл?". Справка Windows 7. Microsoft . Получено 2 декабря 2012 г.
  5. ^ ab "Вы не можете просматривать или изменять атрибуты "Только для чтения" или "Системные" для папок в Windows Server 2003, Windows XP, Windows Vista или Windows 7". Служба поддержки Microsoft . Microsoft. 31 мая 2012 г. Получено 2 декабря 2012 г.
  6. ^ «Почему свойство «только для чтения» у папок такое странное?».
  7. ^ ab "Константы атрибутов файлов". MSDN . Microsoft . Получено 17 июля 2018 г. .
  8. ^ "КАК: использовать скрипт управления атрибутами файлов (Fileattributes.pl) в Windows 2000". Поддержка Microsoft . Microsoft . Получено 2 декабря 2012 г. .
  9. ^ "Определение: DOS Attrib". PC Magazine . Ziff Davis . Архивировано из оригинала 2 марта 2012 . Получено 2 декабря 2012 .
  10. ^ "Использование командлета PowerShell для работы с атрибутами файлов". Привет, Scripting Guy! Блог . Microsoft. 26 января 2011 г. Получено 3 декабря 2012 г.
  11. ^ «Как установить, просмотреть, изменить или удалить специальные разрешения для файлов и папок в Windows XP». Служба поддержки Microsoft . Microsoft. 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 . illumos.org . Получено 10 марта 2023 г. .
  20. ^ "chmod(1)". Oracle Solaris 11.4 Reference Library: man pages section 1: User Commands . Oracle . Получено 10 марта 2023 г. .
  21. ^ "chmod(1)". Страницы man illumos . illumos.org . Получено 10 марта 2023 г. .
  22. ^ "ls(1)". Oracle Solaris 11.4 Reference Library: man pages section 1: User Commands . Oracle . Получено 10 марта 2023 г. .
  23. ^ "ls(1)". Страницы руководства illumos . illumos.org . Получено 10 марта 2023 г. .
  24. ^ "getattrat(3c)/setattrat(3c)". Oracle Solaris 11.4 Reference Library: man pages section 3: Basic Library Functions . Oracle . Получено 10 марта 2023 г. .
  25. ^ "getattrat(3c)/setattrat(3c)". Страницы руководства illumos . illumos.org . Получено 10 марта 2023 г. .
  26. ^ "sysattr(7)". Oracle Solaris 11.4 Reference Library: man pages section 7 . Oracle . Получено 10 марта 2023 г. .

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