内核将 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 页,对这个主题以及其存在和行为的安全原因有精彩的讨论。