内核将 IPC 对象的权限信息存储在一个类型为ipc_perm的结构体中。 例如,在上面描述的消息队列的内部结构中,msg_perm成员是这种类型。 它在linux/ipc.h中为我们声明,如下所示
struct ipc_perm { key_t key; ushort uid; /* owner euid and egid */ ushort gid; ushort cuid; /* creator euid and egid */ ushort cgid; ushort mode; /* access modes see mode flags below */ ushort seq; /* slot usage sequence number */ };
注意:在 Richard Stevens 的 UNIX Network Programming 一书的第 125 页,对这个主题以及其存在和行为的安全原因有精彩的讨论。