Linux や System V を含む Unix ライクなシステムの多くは、System V のプロセス間 通信(IPC)をサポートしています。 事実、System V IPC は Open Group の Single UNIX Specification Version 2 で必須になっています[Open Group 1997]。 System V の IPC は 3 つのものから構成されています。メッセージ・キュー、 セマフォ、共有メモリがそれです。 それぞれの属性は下記の通りです。
作成者や作成者が属するグループ、その他の者の読み書きのパーミッション。
作成者 uid と gid ――作成者の uid と gid。
所有者 uid と gid ――所有者の uid と gid(初期状態では作成者の uid と同じ)。
下記のルールにもとづいてアクセスします。
プロセスが root の権限を持っていれば、アクセスは許可されます。
プロセスの euid が所有者もしくは作成者の uid と同じなら、作成者の パーミッションを見て、問題なければアクセスが許可されます。
プロセスの euid が所有者もしくは作成者の gid と同じ、もしくはプロセス の属するグループの中に所有者もしくは作成者の gid と同じものがあれば、作成者 のパーミッションを見て、問題なければアクセスが許可されます。
以上に当てはまらなければ、「その他のユーザ」のパーミッションをチェックします。
root もしくは 所有者や作成者の euid を持つプロセスは、所有者の uid や gid を 設定でき、また削除も可能であることを忘れないでください。詳しくは ipc(5)を 参照してください。