Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект ОС(темы1_5).DOC
Скачиваний:
97
Добавлен:
27.05.2015
Размер:
1.81 Mб
Скачать

5. 8. 3. Организация контроля доступа в ос unix

В ОС UNIX права доступа к файлу или каталогу определяются для трех субъек­тов:

владельца файла (идентификатор User ID, UID);

членов группы, к которой принадлежит владелец (Group ID, GID);

всех остальных пользователей системы.

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

User Group Other

rwx r-х r--

Здесь r, w и х обозначают операции чтения, записи и выполнения соот­ветственно. Именно в таком виде выводит информацию о правах доступа к файлам команда просмотра содержимого каталога ls -la. Суперпользователю UNIX все виды досту­па позволены всегда, поэтому его идентификатор (он имеет значение 0) не фигу­рирует в списках управления до-ступом.

С каждым процессом UNIX связаны два идентификатора: пользователя, от име­ни которого был создан этот процесс, и группы, к которой принадле­жит данный пользователь. Эти идентификаторы носят название реальных идентификаторов пользователя: Real User ID, RUID и реальных идентифи­каторов группы: Real Group ID, RGID. Однако при проверке прав доступа к файлу используются не эти идентификаторы, а так называемые эффектив­ные идентификаторы пользо­вателя: Effective User ID, EUID и эффективные идентификаторы группы: Effec­tive Group ID, EGID (рис. 5. 18).

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

В ОС UNIX случаи, когда процесс выполняет системный вызов ехес за­пуска приложения, хра­нящегося в некотором файле, связаны с заменой про­цессом исполняемо­го кода. В рамках данного процесса начинает выпол­няться новый код, и если в характеристиках безопасности этого файла ука­заны признаки разрешения смены идентификаторов пользователя и группы, то происходит смена эффективных иден­тификаторов процесса. Файл имеет два признака разрешения смены идентифи­катора – Set User ID on execution (SUID) и Set Group ID on execution (SGID), которые разрешают смену иден­тификаторов пользователя и группы при выпол­нении данного файла.

Процесс

Пользователь Группа

EUID

EGID

Запрос операции

Файл

Владелец

Группа

R

W

X

UID

R

-

X

GID

-

R

-

Рис. 5. 18. Проверка прав доступа в UNIX

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

Использование мо­дели файла как универсальной модели разделяемого ресурса позволяет в UNIX применять одни и те же механизмы для контроля доступа к файлам, каталогам, принтерам, терминалам и разделяемым сегментам памяти.

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