Системное программирование в UNIX средствами Free Pascal

Структуры данных статуса


При создании объекта межпроцессного взаимодействия система также создает структуру статуса средства межпроцессного взаимодействия (IPC facility status structure),

содержащую всю управляющую информацию, связанную с объектом. Для сообщений, семафоров и разделяемой памяти существуют разные типы структуры статуса. Каждый тип содержит информацию, свойственную этому средству межпроцессного взаимодействия. Тем не менее все три типа структуры статуса содержат общую структуру прав доступа. Структура прав доступа tipc_perm содержит следующие элементы:

TIPC_Perm  =  record

  key  :  TKey;

  uid,         (* Действующий идентификатор пользователя *)

  gid,         (* Действующий идентификатор группы *)

  cuid,        (* Идентификатор пользователя создателя объекта *)

  cgid,        (* Идентификатор группы создателя объекта *)

  mode,        (* Права доступа *)

  seq  :  Word;

end;

Права доступа определяют, может ли пользователь выполнять «чтение» из объекта (получать информацию о нем) или «запись» в объект (работать с ним). Коды прав доступа образуются точно таким же образом, как и для файлов. Поэтому значение 0644 для элемента umode означает, что владелец может выполнить чтение и запись объекта, а другие пользователи – только чтение из него. Обратите внимание, что права доступа, заданные элементом mode, применяются в сочетании с действующими идентификаторами пользователя и группы (записанными в элементах uid и gid).[16]

Очевидно также, что права на выполнение в данном случае не имеют значения. Как обычно, суперпользователь имеет неограниченные полномочия. В отличие от других конструкций UNIX,

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



Содержание раздела