
Рис. 2.12. Структура очень большого файла на томе NTFS
Сверхбольшие файлы. Формируются в том случае, если атрибут Data, хранящий адреса нерезидентных отрезков данных, не помещается в одной отдельной записи MFТ. Номера всех занятых записей указываются в первой записи файла в атрибуте AL (Attribute List – список атрибутов).
Каждый каталог на томе NTFS тоже является файлом, у которого вместо атрибута Data имеется атрибут IR (Index Root – корень индекса), в котором хранятся имена файлов с соответствующими номерами записей в таблице MFT. Каталоги, как и обычные файлы, могут быть небольшими, целиком помещающиеся в одной записи MFT, и большие, использующие для хранения атрибутов файлов нерезидентные отрезки кластеров.
2.5.3. Особенности файловых систем, используемых в UNIX
Файловая система в UNIX-системах выполняет больше функций, чем в других операционных системах.
Во-первых, в нее интегрированы все устройства ввода-вывода.
Во-вторых, каждый файл (в том числе каждый каталог и устройство ввода-вывода) имеет персональный индексный дескриптор и может иметь несколько имен.
Следует отметить, что в UNIX-системах вместо термина "кластер" используют термин "блок".
Рассмотрим общую структуру файловых систем UNIX на примере файловой системы ufs.
В расположении файловой системы на диске следует выделить четыре области:
· загрузочный блок;
· суперблок, который содержит самую общую информацию о файловой системе: размер файловой системы, размер области индексных дескрипторов, число индексных дескрипторов, список свободных блоков (кластеров) и список свободных индексных дескрипторов, а также другую административную информацию;
· область индексных дескрипторов, в которой порядок расположения индексных дескрипторов соответствует их номерам;
· область данных, в которой расположены как обычные файлы, так и файлы-каталоги, в том числе и корневой каталог; специальные файлы (ассоциированные с устройствами ввода-вывода) представлены в файловой системе только записями в соответствующих каталогах и индексными дескрипторами специального формата, но места в области данных не занимают.
Основной особенностью организации файловой системы, применяемой в UNIX, является отделение имени файла от его характеристик, хранящихся в отдельной структуре, называемой индексным дескриптором.
Каждый индексный дескриптор имеет номер, который одновременно является уникальным именем файла в файловой системе и выделяется файлу из числа свободных номеров при создании файла на диске.
Запись о файле в каталоге состоит всего из двух полей: символьного имени файла и номера индексного дескриптора. Следовательно, один номер индексного дескриптора (т. е. один реальный файл) может соответствовать различным символьным именам этого файла. Файл удаляется из системы и его дескриптор освобождается лишь после удаления его последнего символьного имени.
Индексный дескриптор файла содержит следующие данные о файле:
· идентификатор владельца файла;
· тип файла (обычный, каталог, специальный, конвейер, символьная связь);
· временные характеристики: время последней модификации файла и т. п.;
· число ссылок на данный индексный дескриптор, равный количеству псевдонимов (символьных имен) файла;
· адресная информация – расположение частей файла по блокам (кластерам) в области данных диска;
· размер файла в байтах.
В файловой системе ufs имена файлов могут иметь длину до 255 символов.
В настоящее время бурно развивается направление UNIX-систем, получивших название по имени создателя (Линус Торвальдс) – Linux. В различных вариантах этой операционной системы используются файловые системы ext 2 fs (Second Extended File System) и ext3fs, являющиеся дальнейшим развитием ufs.
2.6. Доступ к разделяемым ресурсам
Существуют различные виды ресурсов, с которыми пользователи работают в режиме совместного использования. Во всех случаях действует общая схема: пользователи пытаются выполнить с разделяемым ресурсом определенные операции, а операционная система должна решать, имеют ли пользователи на это право.
2.6.1. Механизм контроля доступа
При организации доступа к разделяемым ресурсам обычно считают, что пользователи являются субъектами доступа, а разделяемые ресурсы – объектами.
Пользователи осуществляют доступ к объектам операционной системы не непосредственно, а с помощью прикладных процессов, которые запускаются от его имени.
Для каждого типа объектов существует набор операций, которые с ними можно выполнять. Например, для файлов – это операции чтения, записи, удаления, выполнения; для принтера – перезапуск, очистка очереди документов, приостановка печати документа и т. д.
Система контроля доступа ОС должна предоставлять средства для задания прав пользователей по отношению к объектам дифференцированно по операциям, например, пользователю может быть разрешена операция чтения и выполнения файла, а операция удаления файла запрещена.
Во многих операционных системах реализованы механизмы, которые позволяют управлять доступом к объектам различного типа с единых позиций. Так, представление устройств ввода-вывода в виде специальных файлов в операционных системах UNIX является примером такого подхода: в этом случае при доступе к устройствам используются те же атрибуты безопасности и алгоритмы, что и при доступе к обычным файлам.
Еще дальше продвинулись в этом направлении операционные системы Windows на основе технологии NT. В этих операционных системах используется унифицированная структура – объект безопасности, которая создается не только для файлов и внешних устройств, но и для любых разделяемых ресурсов: секций памяти и т. п. Это позволяет использовать в операционной системе для контроля доступа к ресурсам любого вида общий модуль ядра – менеджер безопасности.
В качестве субъектов доступа могут выступать как отдельные пользователи, так и группы пользователей.
Определение индивидуальных прав доступа для каждого пользователя позволяет максимально гибко задать политику расходования разделяемых ресурсов в вычислительной системе. Однако этот способ приводит в больших системах к чрезмерной загрузке администратора рутинной работой по повторению одних и тех же операций для пользователей с одинаковыми правами.
Объединение пользователей, имеющих одинаковые права доступа, в группу и задание прав доступа в целом для группы является одним из основных приемов администрирования в больших системах.
У каждого объекта доступа существует владелец, который может быть как отдельным пользователем, так и группой пользователей. Владелец объекта имеет право выполнять с ним любые допустимые для данного объекта операции.
Во многих операционных системах существует особый пользователь (superuser, root, administrator, администратор), который имеет все права по отношению к любым объектам системы, не обязательно являясь их владельцем.
Каждый пользователь и каждая группа пользователей обычно имеют символьное имя (часто называемое логином), назначаемое администратором, а также уникальный числовой идентификатор (ID), присваиваемый им операционной системой.
При выполнении процедуры логического входа в систему пользователь сообщает свое символьное имя и пароль, а операционная система определяет соответствующие числовые идентификаторы пользователя и групп, в которые он входит. Все идентификационные данные, в том числе имена и идентификаторы пользователей и групп, пароли пользователей, а также сведения о вхождении пользователя в группы хранятся в специальном файле (файл /etc/passwd в UNIX) или в специальной базе данных (в Windows семейства NT).
В общем случае права доступа могут быть описаны матрицей прав доступа, в которой столбцы соответствуют всем ресурсам системы, а строки – всем пользователям. На пересечении строк и столбцов указываются разрешенные операции (см. табл. 2.4).
Таблица 2.4 | |
Пример матрицы прав доступа к файлам |
Пользователи | Файлы | ||||
file1.txt | file2.exe | file3.doc | file5.txt | … | |
user1 | читать | выполнять | читать | читать | |
user2 | читать | выполнять | читать удалять | – | |
user3 | читать | – | читать | – | |
user4 | читать писать | – | читать удалять | – | |
… |
Практически во всех операционных системах матрица прав доступа хранится «по частям», т. е. для каждого файла или каталога создается так называемый список управления доступом (Access Control List, ACL), в котором описываются права на выполнение операций пользователей и групп пользователей по отношению к этому файлу и каталогу.
Список управления доступом является частью характеристик файла или каталога и хранится в соответствующей области, например, в дескрипторе безопасности (SD) файловой системы NTFS.
Не все файловые системы поддерживают списки управления доступом, например, его не поддерживает файловая система FAT, т. к. она разрабатывалась для однопользовательской однопрограммной операционной системы MS DOS, для которой задача защиты от несанкционированного доступа была не актуальна.
Обобщенно формат списка управления доступом можно представить в виде набора идентификаторов пользователей и групп пользователей, в котором для каждого идентификатора указывается набор разрешенных операций над объектом. Говорят, что список ACL состоит из элементов управления доступом (Access Control Element, ACE), при этом каждый элемент соответствует одному идентификатору.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 |



