次の 2 つの例では、Sam という名のユーザーが、tar コマンドを実行して、testFile というファイルを保存しようとしています。Sam には、tar コマンドの実行が許可されており、testFile ファイルの読み取りと書き込みに必要なアクセス権も与えられています。例 1 では、Sam は一般ユーザーとしてトランザクションを実行しようとし、失敗しています。例 2 では、Sam はシステムオペレータ (oper) になったため、トランザクションを無事完了しています。
次の図を見ると、Sam のユーザーアカウントには、 All 実行プロファイルが割り当てられています。このプロファイルは、特権を何も与えずに、tar コマンドへのアクセスを許可します。
したがって、Sam は tar コマンドを使用できるため、トランザクションは手順 3 から手順 5 まで進みます。ここでサブジェクト (tar プロセス) とオブジェクト (testFile ファイル) のセキュリティ属性がそれぞれ収集され、比較されます。この例では、次のような条件評価が行われます。
プロセスの SL はファイルとそのディレクトリの SL よりも優位か - セッションを開始したときの Sam の選択により、tar プロセスの SL は「C」になっています。testFile ファイルとそのディレクトリの SL も「C」であるため、このプロセスの SL は優位 (この場合は同等) であるといえます。したがって、プロセスには、ディレクトリを読み取るための file_mac_search 特権もファイルを読み取るための file_mac_read 特権も必要ありません。
プロセスのアクセス権を使用してファイルのディレクトリにアクセスできるか - Sam はファイルとディレクトリの所有者であるため、ディレクトリにアクセスするための file_dac_search 特権もファイルを読み取るための file_dac_read 特権も必要ありません。
プロセスには特別な承認が必要か - tar コマンドを使用するには、磁気テープデバイスが必要です。ところが、Sam は管理者しかデバイスの割り当てができないセキュリティ保護された環境で作業しており、デバイス割り当て承認を持っていないため、トランザクションはここで中断されてしまいます。
Sam がシステムオペレータ (oper) になると、次の図に示すようにトランザクションは成功します。
システムオペレータ (oper) には、他のプロファイルとともに Basic Media 実行プロファイルが割り当てられています。この実行プロファイルには、tar コマンドのほか、file_dac_search、file_dac_read、file_mac_read などの特権と、ADMIN_LOW から ADMIN_HIGH までの SL 範囲が指定されています。この例では、tar コマンドが許可されているため、プロセスは手順 3 から 5 まで進みます。このトランザクションは、次のような条件評価に合格しています。
プロセスの SL はファイルとそのディレクトリの SL よりも優位か - tar プロセスの SL は ADMIN_LOW になっています。これは、Sam がシステムオペレータになったときのデフォルトの SL です。testFile ファイルとそのディレクトリの SL は「C」なので、tar プロセスの方がレベルが低くなります。したがって、file_mac_search と file_mac_read 特権を使用する必要があります。
プロセスのアクセス権を使用してファイルのディレクトリにアクセスできるか - システムオペレータはディレクトリもファイルも所有していないため、プロセスは file_dac_search と file_dac_read 特権を使用します。
プロセスには特別な承認が必要か - 一般ユーザーとして実行に失敗した例と異なり、Basic Media 実行プロファイルには、デバイス割り当て承認も定義されています。したがって、Sam は、システムオペレータとしてデバイスマネージャから磁気テープを割り当て、tar トランザクションを実行することができます。