admin 管理员组文章数量: 887021
ipc
系统为每一个IPC对象保存一个ipc_perm结构体,该结构说明了IPC对象的权限和所有者,每一个版本的内核各有不用的ipc_perm结构成员。若要查看详细的定义请参阅文件<sys/ipc.h>。
ipc_perm 结构定义于中,原型如下: struct ipc_perm { key_t key; 调用shmget()时给出的关键字 uid_t uid; /*共享内存所有者的有效用户ID */ gid_t gid; /* 共享内存所有者所属组的有效组ID*/ uid_t cuid; /* 共享内存创建 者的有效用户ID*/ gid_t cgid; /* 共享内存创建者所属组的有效组ID*/ unsigned short mode; /* Permissions + SHM_DEST和SHM_LOCKED标志*/ unsignedshort seq; /* 序列号*/ }; |
每一种版本的ipc_perm结构体定义至少要包含上述几个域。当调用IPC对象的创建函数(semget msgget shmget )时,会对ipc_perm结构的每一个域赋值。在后续的操作中如需修改这几个域则调用相应的控制函数(msgctl semctl shmctl)。
注意:只有超级用户或者创建IPC对象的进程有权改变ipc_perm结构的值。结构中的mode域类似于文件的stat结构的mode域,但是不可以有执行权限。mode值描述如表14-3所示。
表14-3 ipc_perm的mode详解表
操作者 | 读 | 写(更改 更新) | 操作者 | 读 | 写(更改 更新) |
用户 | 0400 | 0200 | 其他 | 0004 | 0002 |
组 | 0040 | 0020 |
|
|
|
本文标签: ipc
版权声明:本文标题:ipc 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1686734628h30835.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论