Атрибут файла (Операционные Системы)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 20:01, 6 июня 2019.

Атрибуты файлов – это специальные системные метаданные, которые описывают свойства конкретного файла или целой папки. Часто под атрибутами подразумевают также некоторые дополнительные параметры, вроде, даты создания файла, или специализированную метаинформацию о конкретных типах данных (например, EXIF для изображений или ID3-теги для музыки).[Источник 1]

Описание

Атрибут файла — это некая метка (или флаг), которая сообщает операционной системе о существовании особых правил для работы с конкретным файлом.

Место хранения атрибутов файлов

Место хранения атрибутов в частном случае зависит от реализации конкретной файловой системы. В качестве примера можно привести файловую систему Ext4 в силу ее популярности в ОС Linux. Как и во многих других файловых системах семейства UNIX\*Nix в Ext4 есть понятие inode (айнод). Изначальное название — index node — индексная точка/вершина. Inode — это специальная структура данных в файловой системе, которая хранит определенную информацию об объектах файловой системы — стандартных файлах, каталогах и т.д. Айноды хранятся в таблице айнодов, для которой файловая система выделяет необходимое количество блоков. Под определенной информацией подразумеваются отметки времени доступа, флаги, расширенные атрибуты, карты блоков данных и др. В официальной документации по ext4 те атрибуты, о которых идет речь в этой заметке, называются флагами (flags). Не стоит путать с расширенными атрибутами (extended attributes) — это несколько иная сущность.

Виды функций атрибутов (флагов)

Если обратится к man chattr то можно увидеть почти полный список атрибутов (флагов):

  • A — не обновлять время доступа к объекту. Теоретически установка этого атрибута должна повысить производительность файловой системы при работе с файлом (если не используются опции монтирования noatime, nodiaratime )
  • а — указывает, что в файл можно добавлять информацию, но нельзя удалять. Может быть установлен только суперпользователем.
  • d — указывает на то, что не нужно делать резервные копии файла. Файл будет проигнорирован командой dump.
  • i — указывает на то, что файл нельзя удалять и модифицировать, так же нельзя создать ссылку на файл. Может быть установлен только суперпользователем.
  • s — указывает, что при удалении файла место где был размещен файл будет перезаписано нулями. Для невозможности восстановления после удаления.
  • u — указывает на то, что при удалении файла его нужно куда-то сохранить. Наоборот, чтоб гарантировать возможность восстановления после удаления.
  • c — указывает на то, что файл сжат. Перед записью в этот файл ядро сжимает данные, а чтение соответственно возвращает разархивированные данные.

Сжатие данных

Атрибут «c» существует для того,чтобы указывать пользователю,что файл сжат. Теоретически кроме экономии дискового пространства выгодой от использования этого флага может быть и ускорение дисковых операций (зависит от алгоритма сжатия). Данный атрибут, к сожалению, не работает в ext4, так как данная ФС не поддерживает механизм сжатия. Но зато работает в новой файловой системе BTRFS, где на данный момент реализованы целых два алгоритма сжатия — LZO, и ZLIB. Как раз с алгоритмом LZO разработчикам удалось добиться увеличения производительности дисковых операций за счет того, что файлы стали занимать меньше места, соответственно времени на их запись и считывание нужно меньше, а операции сжатия и распаковки занимают совсем немного процессорного времени. К сожалению, от выборочного использования этого флага эффекта будет немного — так же как и с атрибутом «A» — для достижения максимального эффекта лучше будет использовать опцию монтирования, чтоб поведение опции было глобальным для всех файлов. [Источник 2]

Виды атрибутов для Windows

В Windows существует несколько атрибутов файлов, в том числе:

  • Атрибут архивного файла.
  • Атрибут каталога.
  • Скрытый атрибут файла.
  • Атрибут файла только для чтения.
  • Атрибут системного файла.
  • Атрибут метки тома

Для Windows с NTFS

Следующие атрибуты файлов были впервые доступны для операционной системы Windows с файловой системой NTFS , то есть они недоступны в старой файловой системе FAT :

  • Атрибут сжатого файла.
  • Шифрованный атрибут файла.
  • Индексированный атрибут файла.

Редкие атрибуты

Вот несколько дополнительных, хотя и более редких, атрибутов файлов, распознаваемых Windows:

  • Атрибут файла устройства.
  • Атрибут файла целостности.
  • Не индексированный атрибут файла содержимого.
  • Нет атрибута файла scrub.
  • Автономный атрибут файла.
  • Атрибут разреженного файла.
  • Атрибут временного файла.
  • Атрибут виртуального файла.

Атрибуты для Linux

В Linux каждый файл имеет свойство, характеризующее владельца файла. Управление доступом к файлам осуществляется с помощью атрибутов – специальных характеристик, имеющихся у каждого файла. Всего существует 12 характеристик. Девять из них можно разделить на три класса:

  • Разрешение/запрет на чтение файла владельцем, группой владельца и всеми остальными пользователями.
  • Разрешение/запрет на запись файла владельцем, его группой и всеми остальными.
  • Разрешение/запрет на запуск файла владельцем, группой владельца и остальными пользователями.

Размещение атрибутов

Пользователь может получать доступ к атрибутам, используя средства, предоставленные для этих целей файловой системой. Обычно разрешается читать значения любых атрибутов, а изменять — только некоторые. Например, пользователь может изменить права доступа к файлу (при условии, что он обладает необходимыми для этого полномочиями), но изменять дату создания или текущий размер файла ему не разрешается. Значения атрибутов файлов могут непосредственно содержаться в каталогах, как это сделано в файловой системе MS DOS (см. рисунок 1). На рисунке представлена структура записи в каталоге, содержащая простое символьное имя и атрибуты файла. Здесь буквами обозначены признаки файла: R — только для чтения, А — архивный, Н — скрытый, S — системный.

Рисунок 1 – Структура каталогов

Способ размещения атрибутов UNIX

Другим вариантом является размещение атрибутов в специальных таблицах, когда в каталогах содержатся только ссылки на эти таблицы. Такой подход реализован, например, в файловой системе ufs ОС UNIX. В этой файловой системе структура каталога очень простая. Запись о каждом файле содержит короткое символьное имя файла и указатель на индексный дескриптор файла, так называется в ufs таблица, в которой сосредоточены значения атрибутов файла.В том и другом вариантах каталоги обеспечивают связь между именами файлов и собственно файлами. Однако подход, когда имя файла отделено от его атрибутов, делает систему более гибкой. Например, файл может быть легко включен сразу в несколько каталогов. Записи об этом файле в разных каталогах могут содержать разные простые имена, но в поле ссылки будет указан один и тот же номер индексного дескриптора. [Источник 3]

Использование атрибутов файлов

Атрибуты файлов существуют так, что вы или программа, которую вы используете, или даже сама операционная система, могут быть предоставлены или лишены определенных прав на файл или папку. Изучение общих атрибутов файлов может помочь вам понять, почему определенные файлы и папки называются «скрытыми» или «только для чтения», например, и почему взаимодействие с ними настолько отличается от взаимодействия с другими данными. Применение атрибута файла только для чтения к файлу будет препятствовать его редактированию или изменению каким-либо образом, если атрибут не будет отменен, чтобы разрешить доступ на запись. Атрибут «только для чтения» часто используется с системными файлами, которые нельзя изменять, но вы можете сделать то же самое с вашими собственными файлами, которые вам бы хотелось, если бы кто-то с доступом не редактировал.Файлы со скрытым набором атрибутов фактически будут скрыты от обычных представлений, что делает эти файлы очень трудными для случайного удаления, перемещения или изменения. Файл по-прежнему существует, как и любой другой файл, но поскольку атрибут скрытого файла переключается, он не позволяет случайному пользователю взаимодействовать с ним.

Атрибуты файлов и атрибуты папок

Атрибуты можно включать и выключать как для файлов, так и для папок, но последствия этого немного отличаются друг от друга. Когда атрибут файла, такой как скрытый атрибут, переключается на файл , этот единственный файл будет скрыт - ничего другого. Если тот же скрытый атрибут применяется к папке , вам предоставляется больше опций, чем просто скрыть папку: у вас есть возможность применить скрытый атрибут к папке в отдельности или к папке, ее подпапкам и всем ее файлам. Применение атрибута скрытого файла к подпапкам папки и ее файлам означает, что даже после того, как вы откроете папку, все файлы и папки, которые содержатся в ней, также будут скрыты. Первый вариант просто скрыть только папку позволит сделать вложенные папки и файлы видимыми, но просто скрыть основную корневую область папки.

Применение атрибутов файлов

Хотя все доступные атрибуты для файла имеют общие имена, которые вы видели в списках выше, они не все применяются к файлу или папке таким же образом.Небольшой выбор атрибутов можно включить вручную. В Windows вы можете сделать это, щелкнув правой кнопкой мыши или нажав и удерживая файл или папку, а затем включив или отключив атрибут из предоставленного списка.

В Windows больший выбор атрибутов также можно установить с помощью команды
attrib
, доступной с панели управления . Управление атрибутом с помощью команды позволяет сторонним программам, таким как программное обеспечение резервного копирования , легко редактировать атрибуты файлов.Операционные системы Linux могут использовать команду chattr (Change Attribute) для установки атрибутов файлов, а chflags (Change Flags) используется в Mac OS X.[Источник 4]

Источники

  1. Атрибуты файлов // Лучший бесплатный софт. [2006 –]. Дата обновления: 18.02.2016. URL: https://www.bestfree.ru/article/computer/file-attributes.php (дата обращения: 28.04.2019).
  2. Что такое атрибут файла // DesktopBSD.ru. [2007 –]. Дата обновления: 02.09.2017. URL: http://desktopbsd.ru/info/6446-chto-takoe-atribut-fayla.html (дата обращения: 28.04.2019).
  3. Атрибуты файлов // Studref. [2019]. Дата обновления: 04.06.2018.URL: https://studref.com/389136/informatika/atributy_faylov (дата обращения: 28.04.2019).
  4. Что такое атрибут файла // Lezhnyov.ru. [2017 –]. Дата обновления: 05.05.2018. URL: https://lezhnyov.ru/chto-takoe-atribut-fajla (дата обращения: 28.04.2019).