Классика баз данных - статьи

       

стала фактическим стандартом современных операционных


файла. Схема авторизации доступа, примененная в ОС UNIX,

настолько проста и удобна и одновременно настолько мощна, что

стала фактическим стандартом современных операционных систем (не

претендующих на качества систем с многоуровневой защитой).

С каждым выполняемым процессом в ОС UNIX связываются реальный

идентификатор пользователя и действующий идентификатор

пользователя. Эти идентификаторы устанавливаются с помощью

системного вызова setuid, который можно выполнять только в режиме

суперпользователя (администратора системы). Аналогично, с каждым

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

реальный и действующий. Эти идентификаторы устанавливаются

привилегированным системным вызовом setgid.

При входе пользователя в систему программа login проверяет, что

пользователь зарегистрирован в систему и знает правильный пароль

(если он установлен), образует новый процесс и запускает в нем

требуемый для данного пользователя shell. Но перед этим login

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

пользователя и группы, используя информацию, хранящуюся в файлах

/etc/passwd и /etc/group. После того, как с процессом связаны

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

действовать ограничения для доступа к файлам. Процесс может

получить доступ к файлу или выполнить его (если файл содержит

выполняемую программу) только в том случае, если хранящиеся при

файле ограничения доступа позволяют это сделать. Связанные с

процессом идентификаторы передаются создаваемым им процессам,

распространяя на них те же ограничения. Однако в некоторых

случаях процесс может изменить свои права с использованием

системных вызовов setuid и setgid, а иногда система может

изменить права доступа процесса автоматически.

Рассмотрим, например, следующую ситуацию. В файл /etc/passwd

запрещена запись всем, кроме суперпользователя (суперпользователь

может писать в любой файл). Этот файл, помимо прочего, содержит

пароли пользователей, и каждому пользователю разрешается изменять


Содержание  Назад  Вперед