Организация контроля доступа в ОС 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), которые разрешают смену иден­тификаторов пользователя и группы при выпол­нении данного файла.

 
 



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



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