Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции.doc
Скачиваний:
41
Добавлен:
30.04.2013
Размер:
16.33 Mб
Скачать

Ioctlo: установить атрибуты файла;

revalidate(): проверить, чтобы вся кэшированная информация была пра‑

вильной.

Защита файлов

Информация в любой компьютерной системе должна иметь защиту как от физического разрушения (reliability), так и от несанкционированного доступа (protection). Очевидно, что создание и удаление файлов предпола­гает выполнение некоторых операций. Рассмотрим кратко аспект защиты, связанный с контролем доступа к файлам.

Многопользовательский режим работы системы предполагает организа‑

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

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

Наиболее простой способ защиты файлов от несанкционированного ис­пользования - сделать доступ зависящим от идентификатора пользователя,

то есть связать с каждым файлом или каталогом список прав цоступа

(access control list), где перечислены имена пользователей и типы разре­шенных для них способов доступа к файлу. При любом запросе на выпол­нение операции над файлом выполняется проверка соответствующих прав

по этому списку. Недостатком метода является увеличение времени про‑

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

Во-первых, конструирование подобного списка может оказаться слож‑

ной задачей, особенно если мы не знаем заранее пользователей системы. Во-вторых, запись в директории должна иметь переменный размер (вклю­чать список потенциальных пользователей).

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

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

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

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

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

Механизмы обмена данными в vfs

Уровень драйверов файловой системы обслуживает все физические уст­ройства логической файловой системы. В ОС Unix существуют три типа драйверов: символьные, блок (байт) - ориентированные и сетевые. Сим‑

вольные иногда называют бит-ориентированные драйверы. Для работы файловой системы необходимо два типа – бит- и байт-ориентированные

драйверы. Бит–ориентированные драйверы обеспечивают последователь­ный доступ к устройствам типа модема или мыши. Байт–ориентированные драйверы обеспечивают поблочны й доступ к информации.

Так как в ОС Unix "нет ничего кроме" файлов и процессов, то доступ к любому устройству в системе осуществляется как к файлу. Такой подход

позволяет унифицировать внутренний интерфейс драйверов и упростить написание новых драйверов и подключение новых устройств в систему.