Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VSOS_2014.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.9 Mб
Скачать

48Типы доступа

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

Другой крайностью является разрешение свободного доступа к файлам безо всякой защиты. Оба эти подхода непригодны для реальных систем. В них требуется контролируемый доступ.

Механизмы защиты поддерживают контролируемый доступ за счет организации типов возможного доступа к файлу. Доступ разрешается или запрещается в зависимости от нескольких факторов, одним из которых является запрашиваемый путь доступа.

Могут контролироваться различные типы доступа, например:

  • read – читать информацию из файла;

  • write – писать информацию в файл;

  • execute – исполнить программу, хранящуюся в файле;

  • append – дописать информацию в конец файла;

  • delete – удалить файл;

  • list – получить перечень атрибутов файла.

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

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

49Списки прав доступа

Наиболее общий подход к защите файлов от несанкционированного использования – сделать доступ зависящим от идентификатора пользователя, то есть связать с каждым файлом или директорией список прав доступа (access control list), где перечислены имена пользователей и типы разрешенных для них способов доступа к файлу. Любой запрос на выполнение операции сверяется с таким списком. Основная проблема реализации данного способа заключается в том, что список может быть длинным. Чтобы разрешить всем пользователям читать файл, необходимо всех их внести в список. У такой техники есть два нежелательных следствия:

  • Конструирование подобного списка может оказаться сложной задачей, особенно если мы не знаем заранее пользователей системы.

  • Запись в директории должна иметь переменный размер (включать список потенциальных пользователей).

Для решения этих проблем создают классификации пользователей, например, в ОС Unix все пользователи разделены на три группы:

  • Владелец (Owner);

  • Группа (Group) – набор пользователей, разделяющих файл и нуждающихся в типовом способе доступа к нему;

  • Остальные (Other).

Это позволяет реализовать конденсированную версию списка прав доступа. В рамках такой ограниченной классификации задаются только три поля (по одному для каждой группы) для каждой контролируемой операции. В итоге в Unix операции чтения, записи и исполнения контролируются при помощи 9 бит (rwxrwxrwx).

50Другие подходы к защите

Еще один подход к решению проблемы защиты состоит в установке пароля на каждый файл.

Для организации хранения информации на диске пользователь вначале обычно выполняет его форматирование, выделяя на нем место для структур данных, которые описывают состояние файловой системы в целом. Затем пользователь создает нужную ему структуру каталогов (или директорий), которые, по существу, являются списками вложенных каталогов и собственно файлов. И наконец, он заполняет дисковое пространство файлами, приписывая их тому или иному каталогу. Таким образом, ОС должна предоставить в распоряжение пользователя совокупность системных вызовов, которые обеспечивают его необходимыми сервисами.

Кроме того, файловые службы могут решать проблемы проверки и сохранения целостности файловой системы, проблемы повышения производительности и ряд других.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]