Trusted Solaris 開発ガイド

特権の必要な処理

System V IPC オブジェクトでは、任意アクセス制御と必須アクセス制御、任意の所有権制御、情報ラベルの浮上が適用されます。

System V IPC オブジェクトはキーから作成され、IPC オブジェクトの作成時に返されるオブジェクト記述子によってアクセスされます。オブジェクト記述子は、ファイル記述子と同様に、今後オブジェクトに対して処理を行う際に使用されます。System V IPC オブジェクトの機密ラベルは、その作成プロセスが異なるラベルで System V IPC オブジェクトを作成する特権を持たないかぎり、作成プロセスの機密ラベルと同じです。プロセスは、別のラベルで System V IPC オブジェクトにアクセスする特権を持たないかぎり、同じ機密ラベルで System V IPC オブジェクトにアクセスします。キーは作成される機密ラベルによって識別されるため、同じキーを使用するオブジェクトが多数存在できますが、ある 1 つの機密ラベルにおけるキーのインスタンス (オブジェクト ID) は 1 つだけです。

必須アクセス制御と所有権制御

System V IPC オブジェクトに対する任意アクセスは、ファイルアクセスとほぼ同様に、所有者、グループ、その他ユーザーのオブジェクトに対応した読み取りモードと書き込みモードに基づいて付与または拒否されます。System V IPC オブジェクトには、属性変更要求を制御する作成者のユーザーとグループのセットもあります。System V IPC オブジェクトを作成するプロセスは所有者であり、任意アクセス権ビットをあらゆる値に設定できます。任意アクセス制限と所有者制限を無効にするには、使用しているインタフェースまたは要求されているオペレーションに応じ、プロセスの有効セットに ipc_dac_readipc_dac_writeipc_owner のいずれかの特権が必要です。

必須アクセス制御

特権を持たないプロセスは、プロセスの正しい機密ラベルにおいてのみ System V IPC オブジェクトを参照し、IPC 記述子を返すことができます。これにより、必須アクセス制御が同位読み取りと同位書き込みとなり、System V IPC を使用した未変更の基本 Solaris アプリケーションが複数の機密ラベルで動作する場合に、ファイル名やアクセスの重複が排除されます。必須アクセス制限を無効にするには、使用しているインタフェースに応じ、プロセスの有効セットに ipc_mac_read または ipc_mac_write 特権が必要です。


注 -

機密ラベルは、いったん作成されると変更できません。