Доступ к файлам как частный случай доступа к разделяемым ресурсам

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

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

Во многих операционных системах реализованы механизмы, которые позволяют управлять доступом к объектам различного типа с единых пози­ций. Так, пред­ставление устройств ввода-вывода в виде специальных файлов в операционных системах UNIX является примером такого подхода: в этом случае при доступе к устройствам используются те же атрибуты безопасно­сти и алгоритмы, что и при доступе к обычным файлам и каталогам. Еще дальше продвинулась в этом на­правлении операционная система Windows NT. В ней используется унифици­рованная структура – объект безопасности. Она создается не только для файлов и внешних устройств, но и для лю­бых разделяемых ресурсов, например, секций па­мяти. Это позволяет исполь­зовать в Windows NT для контроля доступа к ресурсам любого вида общий модуль ядра – менеджер безопасности.

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

У каждого объекта доступа существует владелец. Владельцем может быть как отдельный пользователь, так и группа пользователей. Владелец объекта имеет право выполнять с ним любые допустимые для данного объ­екта операции. Во многих операционных системах существует особый поль­зователь (superuser, root, administrator), который имеет все права по отноше­нию к любым объектам систе­мы, не обязательно являясь их владельцем. Под таким именем работает админи­стратор системы, которому необходим пол­ный доступ ко всем файлам и устрой­ствам для управления политикой дос­тупа.

Различают два основных подхода к определению прав доступа.

Избирательный доступ имеет место, когда для каждого объекта сам владелец может определить допустимые операции с объектами. Этот подход называет­ся также произвольным (от discretionary – предоставленный на соб­ственное усмотрение) доступом, так как позволяет администратору и вла­дельцам объ­ектов определить права доступа произвольным образом, по их желанию. Ме­жду пользователями и группами пользователей в системах с из­бирательным доступом нет жестких иерархических взаимоотношений, то есть взаимоотно­шений, которые определены по умолчанию и которые нельзя изменить. Ис­ключение делается только для администратора, по умолчанию наделяемого всеми правами.

Мандатный доступ (от mandatory –обязательный, принудительный) – это такой подход к определению прав доступа, при котором система наделяет поль­зователя определенными правами по отношению к каждому разделяе­мому ресурсу (в данном случае файлу) в зависимости от того, к какой группе поль­зователь отнесен. От имени системы выступает администратор, а вла­дельцы объектов лишены возможности управлять доступом к ним по своему усмот­рению. Все группы пользователей в такой системе образуют строгую иерар­хию, причем каждая группа пользуется всеми правами группы более низкого уровня иерархии, к которым добавляются права данного уровня. Членам ка­кой-либо группы не разрешается предоставлять свои права членам групп бо­лее низких уровней иерархии.

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: