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

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

– тип файла (обычный файл, каталог, специальный файл и т. п.);

– владелец файла;

– создатель файла;

– пароль для доступа к файлу;

– информация о разрешенных операциях доступа к файлу;

– времена создания, последнего доступа и последнего изменения;

– текущий размер файла;

– максимальный размер файла;

– признак «только для чтения»;

– признак «скрытый файл»;

– признак «системный файл»;

– признак «архивный файл»;

– признак «двоичный/символьный»;

– признак «временный» (удалить после завершения процесса);

– признак блокировки;

– длина записи в файле;

– указатель на ключевое поле в записи;

– длина ключа.

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

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