system v的ipc
很多类unix系统,包括linux和system v系统,支持system v的进程间通信(ipc)对象。实际上,system v的ipc是open group的单一unix规格版本2[open group 1997]所要求的。 system v的ipc对象可以是以下三种:system v的消息队列、信号量集和共享内存段。每个这样的对象都有以下属性:
每个创建者、创建者群组和其他人的读和写许可。
创建者uid和gid -- 对象创建者的uid和gid。
所有者uid和gid -- 对象所有者的uid和gid(初始时等于创建者的uid)。
在存取这样的对象时,规则如下:
如果进程有root权限,同意被存取。
如果进程的euid是对象所有者或创建者的uid,那么检查相应的创建者许可比特位,看看是否允许存取。
如果进程的egid对象所有者或创建者的gid,或者进程所属群组中某个群组的gid就是对象所有者或创建者的gid,那么在存取时检查相应的创建者群组许可比特位。
否则,在存取时检查相应的“其他人”许可比特位。
注意,root或具有所有者或创建者euid的进程可以设置所有者uid和所有者gid,并能删除对象。更多的信息参见ipc(5)。