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

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

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

Содержание
  • 1 DOS и Windows
  • 2 Unix и POSIX
    • 2.1 4.4BSD и производные
    • 2.2 Linux
  • 3 См. Также
  • 4 Ссылки
  • 5 Внешние ссылки
DOS и Windows

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

  • Архив (A): если установлено, это указывает на то, что файл хоста изменился с момента последней операции резервного копирования. Файловая система Windows устанавливает этот атрибут для любого файла, который был изменен. Программное обеспечение резервного копирования затем обязано очистить его после успешного полного или инкрементного резервного копирования (не дифференциального).
  • Скрытый (H): если установлено, указывает, что файл хоста скрыт. Команды MS-DOS, такие как dir , и приложения Windows, такие как File Explorer, не отображают скрытые файлы по умолчанию, если этого не требуется.
  • System (S): если установлено, указывает, что файл хостинга является критическим системным файлом, который необходим для правильной работы компьютера. MS-DOS и Microsoft Windows используют его для пометки важных системных файлов. Команды MS-DOS, такие как dir, и приложения Windows, такие как File Explorer, не показывают системные файлы по умолчанию, даже если отображаются скрытые файлы, если этого не требуется.
  • Только для чтения (R) : Если установлено, означает, что файл не следует изменять. После открытия файла файловая система API обычно не предоставляет разрешение на запись запрашивающему приложению, если приложение явно не запрашивает его. Атрибуты только для чтения в папках обычно игнорируются, они используются для других целей.

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

  • Сжатый (C): если установлено, Windows сжимает файл хоста при сохранении. Для получения дополнительной информации см. NTFS § Сжатие файлов.
  • Зашифрованный (E): если установлено, Windows шифрует файл хоста при хранении для предотвращения несанкционированного доступа. Для получения дополнительной информации см. NTFS § Шифрование.
  • Без индексации содержимого (I): если установлено, Служба индексирования или Поиск Windows не включают хостинг. файл в их операции индексации.

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

  • Каталог (D): запись представляет собой подкаталог, содержащий файл и собственные записи каталога.
  • Точка повторной обработки (L): файл или каталог имеет связанную точку повторного анализа или является символической ссылкой .
  • Не проиндексировано (N) : Файл не проиндексирован на хост-устройстве.
  • Offline (O): данные файла физически перемещены в автономное хранилище (удаленное хранилище).
  • Sparse (P): файл является разреженный файл, т. е. его содержимое частично пустое и несмежное.
  • Временный (T): файл используется для временного хранения.

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

Unix и POSIX

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

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

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

  • (Пользователь) Без дампа : если установлено, это означает, что файл или каталог не должны сохраняться во время операции резервного копирования.
  • (Пользователь и система) Неизменяемый : если установлено, указывает, что файл или каталог не следует изменять. Попытки открыть файл для записи, создать файл в каталоге, удалить файл из каталога, переименовать файл в каталоге, переименовать файл или каталог или удалить файл или каталог завершатся ошибкой с правами доступа.
  • (Пользователь и система) Только добавление : если установлено, указывает, что файл должен быть добавлен только к.
  • (Пользователь) Непрозрачный : Если задано в каталоге, указывает, что каталог непрозрачен, когда при просмотре через стек объединения .

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

  • (пользовательские и системные). No-unlink : если установлено, указывает, что файл каталог или каталог не следует переименовывать или удалять. Попытки переименовать или удалить файл или каталог завершатся ошибкой с правами доступа.

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

  • (System) No-archive : если установлено, указывает, что файл или каталог не должны архивироваться.
  • (Система) Снимок : если установлено, указывает, что файл или каталог является файлом снимка. Этот атрибут поддерживается системой и не может быть установлен даже суперпользователем.

, тогда как DragonFly BSD поддерживает:

  • (Пользователь и система) Без истории : если установлен, указывает, что история должна не сохраняться для файла или каталога.
  • (Пользователь) Swapcache : если установлено, указывает, что данные чистой файловой системы для файла или для каталога и всего, что находится под каталогом, следует кэшировать в пространстве подкачки на твердотельный диск.
  • (System) Swapcache : если установлено, указывает, что данные чистой файловой системы для файла или для каталога и всего, что находится под каталогом, не должны кэшироваться в пространстве подкачки на твердом носителе. -state drive.
  • (System) Archived : если установлено, указывает, что файл или каталог могут быть заархивированы.

NetBSD добавил другой атрибут, также поддерживаемый OpenBSD :

  • ( System) Archived : если установлено, указывает, что файл или каталог заархивирован.

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

  • (User) Hidden : если установлено, указывает, что файл или каталог по умолчанию не должны отображаться в графическом интерфейсе; Однако ls отобразит его.
  • (System) Restricted : если установлено, означает, что файл или каталог будут защищены System Integrity Protection
  • (User and System) Compressed : атрибут только для чтения для файлов, сжатых с использованием HFS + Compression

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

Linux

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

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

Общие атрибуты файлов, поддерживаемые многими распространенными файловыми системами Linux
Атрибутфлаг lsattrпараметр chattrСемантика и обоснование
Нет atimeобновляетA+ A, -Aзапись atime не изменяется, когда файл доступен для чтения / доступа.
Только добавлениеa+ a, -a

Запись в файл разрешена только в режиме добавления.

Неизменяемыйi+ i, -i

Предотвращает любое изменение содержимого или метаданных файла: файл / каталог не может быть записан, удален, переименован или жестко привязан.

Без дампаd+ d, -dФайл пропускается программой дампа
Безопасное удалениеs+ s, -sЗапрашивает, что при удалении, все блоки данных файла заполнены нулями.
Синхронные обновленияS+ S, -SИзменения записываются синхронно на носитель хранения базовой файловой системы; эквивалент опции монтирования «синхронизация» для затронутых файлов.
См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-20 03:41:41
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте