Механизм контроля доступа

Каждый пользователь и каждая группа пользователей обычно имеют символьное имя, а также уникальный числовой идентификатор. При выпол­нении процедуры логического входа в систему пользователь сообщает свое символьное имя и па­роль, а операционная система определяет соответст­вующие числовые иденти­фикаторы пользователя и групп, в которые он вхо­дит. Все идентификационные данные, в том числе имена и идентификаторы пользователей и групп, пароли пользователей, а также сведения о вхождении пользователя в группы хранятся в специальном файле (файл /etc/passwd в UNIX) или специальной базе данных (в Windows NT).

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

Для файло­вых объектов этот список может включать следующие операции:

создание файла;

уничтожение файла;

открытие файла;

закрытие файла;

чтение файла;

запись в файл;

дополнение файла;

поиск в файле;

получение атрибутов файла;

установка новых значений атрибутов;

переименование;

выполнение файла;

чтение каталога;

смена владельца;

изменение прав доступа.

Набор файловых операций ОС может состоять из большого количества эле­ментарных операций, а может включать всего несколько укрупненных операций. Приведенный выше список является примером первого подхода, который позво­ляет весьма тонко управлять правами доступа пользователей, но создает значи­тельную нагрузку на администратора. Пример укрупненного подхода демонст­рируют операционные системы семейства UNIX, в которых существуют всего три операции с файлами и каталогами: читать (read, r), писать (write, w) и вы­полнить (execute, x). Хотя в UNIX для операций ис­пользуется всего три назва­ния, в действительности им соответствует гораздо больше операций. Например, содержание операции выполнить зависит от того, к какому объекту она применя­ется. Если операция выполнить файл ин­туитивно понятна, то операция выпол­нить каталог интерпретируется как поиск в каталоге определенной записи. По­этому администратор UNIX, по сути, располагает большим списком операций, чем это кажется на первый взгляд.

В ОС Windows NT разработчики применили гибкий подход — они реа­лизовали возможность работы с операциями над файлами на двух уровнях: по умолчанию администратор работает на укрупненном уровне (уровень стандартных операций), а при желании может перейти на элементарный уро­вень (уровень индивидуаль­ных операций).

В самом общем случае права доступа могут быть описаны матрицей прав досту­па, в которой столбцы соответствуют всем файлам системы, строки — всем поль­зователям, а на пересечении строк и столбцов указыва­ются разрешенные опера­ции (рис. 5. 16).

Практически во всех операционных системах матрица прав доступа хра­нится «по частям», то есть для каждого файла или каталога создается так на­зываемый список управления доступом (Access Control List, ACL), в котором описываются права на выполнение операций пользователей и групп пользо­вателей по отноше­нию к этому файлу или каталогу. Список управления дос­тупа является частью характеристик файла или каталога и хранится на диске в соответствующей об­ласти, например в индексном дескрипторе inode фай­ловой системы ufs. He все файловые системы поддерживают списки управ­ления доступом, например, его не поддерживает файловая система FAT, так как она разрабатывалась для одно­пользовательской однопрограммной опера­ционной системы MS-DOS, для кото­рой задача защиты от несанкциониро­ванного доступа не актуальна.

  modern.txt win.exe class. dbf unix.ppt
kira читать выполнять выполнять
genua читать выполнять выполнять читать
nataly читать выполнять читать
victor Читать писать создать
         

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



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