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

       

свой пароль. Имеется специальная программа


свой пароль. Имеется специальная программа /bin/passwd,

изменяющая пароли. Однако пользователь не может сделать это даже

с помощью этой программы, поскольку запись в файл /etc/passwd

запрещена. В системе UNIX эта проблема разрешается следующим

образом. При выполняемом файле может быть указано, что при его

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

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

(с помощью системного вызова exec), то для соответствующего

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

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

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

программы /bin/passwd процесс получит идентификатор

суперпользователя, и программа сможет произвести запись в файл

/etc/passwd.

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

реальный ID является истинным идентификатором, а действующий ID -

идентификатором текущего выполнения. Если текущий идентификатор

пользователя соответствует суперпользователю, то этот

идентификатор и идентификатор группы могут быть переустановлен в

любое значение системными вызовами setuid и setgid. Если же

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

суперпользователя, то выполнение системных вызовов setuid и

setgid приводит к замене текущего идентификатора истинным

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

Как и полагается делать в многопользовательской операционной

системе, в UNIX поддерживается единообразный механизм контроля

доступа к файлам и справочникам файловой системы. Любой процесс

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

случае, если права доступа, описанные при файле, соответствуют

возможностям данного процесса.

Защита файлов от несанкционированного доступа в ОС UNIX

основывается на трех фактах. Во-первых, с любым процессом,

создающим файл (или справочник), ассоциирован некоторый

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


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