Эффективный идентификатор - Большая Энциклопедия Нефти и Газа, статья, страница 1
Если хотите рассмешить бога - расскажите ему о своих планах. Законы Мерфи (еще...)

Эффективный идентификатор

Cтраница 1


Эффективный идентификатор ( effective id, effective gid) - идентификатор пользователя или группы, получаемый процессом после вызова выполняемого файла; определяет права процесса.  [1]

Возможность изменения эффективных идентификаторов процесса удобна для организации абстрактных типов данных. Используя этот механизм, можно строить файлы, с которыми разрешено выполнять только определенный набор операций. Поскольку процесс может узнать связанные с ним реальные и эффективные идентификаторы, выполняющие этот набор операций программы могут проверять легальность вызвавших их программ. В частности, таким образом можно выполнять действия, разрешенные только привилегированному пользователю или владельцу файла.  [2]

Права доступа процесса проверяются по его эффективным идентификаторам. Процесс может системными вызовами getuid, geteuid, getgid и getegid узнать связанные с ним реальные и эффективные идентификаторы. Поскольку это означает изменение прав процесса, изменение идентификаторов разрешено только привилегированному процессу и такому процессу, реальный идентификатор которого совпадает с устанавливаемым.  [3]

Отметим, что при изменении своих идентификаторов ( например, реальный и эффективный идентификаторы пользователя, связанные с процессом) процесс делает их одинаковыми. Поскольку права процесса определяются эффективными идентификаторами, становится понятным требование, чтобы устанавливаемое значение совпадало с реальным идентификатором процесса.  [4]

Первоначальные идентификаторы, связанные с процессом, называются реальными; идентификаторы, полученные им после выполнения системного вызова exec, - эффективными. После выполнения системного вызова exec эффективный идентификатор пользователя ( или группы), если смена соответствующего идентификатора выполняемого файла разрешена в коде его защиты, полагается равным идентификатору владельца ( или группы) выполняемого файла.  [5]

Привилегированный процесс может послать сигнал любому процессу. В противном случае процессы, посылающий и принимающий сигналы, должны иметь одинаковые эффективные идентификаторы пользователя. Первый аргумент системного вызова kill, равный нулю, означает посылку сигнала всем процессам, управляемым тем же терминалом, что и процесс, посылающий сигналы.  [6]

Права доступа процесса проверяются по его эффективным идентификаторам. Процесс может системными вызовами getuid, geteuid, getgid и getegid узнать связанные с ним реальные и эффективные идентификаторы. Поскольку это означает изменение прав процесса, изменение идентификаторов разрешено только привилегированному процессу и такому процессу, реальный идентификатор которого совпадает с устанавливаемым.  [7]

Второй символ может быть либо знаком минус, либо буквой и. Минус означает, что запрещено менять идентификатор пользователя при вызове файла для выполнения ( см. характеристику реальных и эффективных идентификаторов в гл. Буква и разрешает смену. Третий, символ кода защиты имеет тот же синтаксис и запрещает или разрешает смену идентификатора группы при вызове файла. Оба символа имеют смысл только в случае, если файл является выполняемым.  [8]

Выполнение системных вызовов setuid и setgid более сложное. Они позволяют устанавливать эффективные идентификаторы группы и пользователя, а также изменяют реальные идентификаторы. Выполнение таких вызовов разрешается только привилегированному пользователю. Если пользователь не имеет привилегии, допускается изменение действующих идентификаторов файла реальными идентификаторами.  [9]

Возможность изменения эффективных идентификаторов процесса удобна для организации абстрактных типов данных. Используя этот механизм, можно строить файлы, с которыми разрешено выполнять только определенный набор операций. Поскольку процесс может узнать связанные с ним реальные и эффективные идентификаторы, выполняющие этот набор операций программы могут проверять легальность вызвавших их программ. В частности, таким образом можно выполнять действия, разрешенные только привилегированному пользователю или владельцу файла.  [10]



Страницы:      1