Система поддерживает отдельно от имен набор атрибутов для каждого файла. Атрибуты хранятся не в каталоге, а в специальной структуре на диске, называемой обычно inode. Слово inode произошло от сокращения index node, означающего индексный дескриптор файла.
Формат и содержимое дескрипторов не совпадает в различных файловых системах. Для вывода атрибутов файла в формате, независимом от файловой системы, используются вызовы stat и fstat.
Наиболее общими атрибутами файлов являются:
♦ тип. Система UNIX умеет распознавать несколько типов файлов, в том числе каталогов, файлов FIFO, символических ссылок, а также специализированных файлов, представляющих блочные или символьные устройства;
♦ количество жестких ссылок;
♦ размер в байтах;
♦ идентификатор устройства (device ID). Идентифицирует устройство, на котором размещен файл;
♦ номер индексного дескриптора. Каждому файлу или каталогу присваивается один дескриптор независимо от количества существующих ссылок.
Каждый дескриптор на определенном разделе диска (или логическом диске; раздел 8.3.1) имеет уникальный номер (inode number). Таким образом, каждый файл идентифицируется уникальным образом при помощи его идентификатора устройства и номера индексного дескриптора. Эти идентификаторы не хранятся внутри дескрипторов.
Идентификатор устройства является характеристикой файловой системы, все файлы, находящиеся в одной и той же файловой системе, обладают одинаковым идентификатором устройства. Номер дескриптора хранится в элементах каталогов наряду с именем файла;
♦ идентификаторы пользователя и группы, являющейся владельцами файла;
♦ временные метки. Для каждого файла поддерживаются три метки: время последнего доступа, время последнего изменения и время изменения его атрибутов (не включающих другие временные метки);
♦ права и флаги режимов, описания которых будут приведены ниже.
С каждым файлом ассоциируются три типа прав: право на чтение (read), на запись (write) и на выполнение (execute). Все пользователи подразделяются также на три категории: владельца файла (owner)1, пользователей группы, совпадающей с группой владельца (group) и всех остальных (others). Следовательно, все права на файл могут быть указаны при помощи 9 битов. Права на каталоги обрабатываются несколько по-другому. Доступ на запись в каталог позволяет создавать или удалять файлы, содержащиеся в нем. Права на выполнение разрешают иметь доступ к файлам каталога. Пользователь не может производить запись в каталог напрямую даже в том случае, если он обладает правами, разрешающими это действие. Содержимое каталога можно изменять только путем создания или удаления файлов.
Механизм прав доступа не только прост, но и достаточно примитивен. На сегодняшний день большинство производителей систем UNIX предлагают дополнительные средства защиты, добавляя их как в базовые версии своих ОС, так и в специализированные защищенные варианты2. Механизмы защиты систем обычно обеспечивают поддержку различных форм списков контроля доступа (ACL), позволяющих более детально указать распределение прав доступа на файлы [5].
Флаги режимов бывают трех различных типов: suid, sgid и sticky. Флаги suid и sgid относятся к выполняемым файлам. Если пользователь выполняет файл, для которого был установлен флаг suid, ядро изменит действительный идентификатор пользователя на ID владельца файла. Флаг sgid используется для аналогичного изменения действительного группового идентификатора (об идентификаторах подробнее см. в разделе 2.3.3). Так как флаг sgid не имеет никакого значения для неисполняемых файлов, он может перезаписываться для несколько иных целей. Если файлу не назначено прав на выполнение группой и флаг sgid является установленным, то над этим файлом разрешается производить принудительную блокировку файла/записи [15].
Опубликовал katy
July 06 2015 18:15:21 ·
0 Комментариев ·
2485 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.