この節では、次に示すファイルオブジェクトに対する必須アクセスチェックと任意アクセスチェックについて説明します。
ディレクトリ - 通常のディレクトリとマルチレベルディレクトリ
ファイル - 通常のファイル、実行可能ファイル、デバイス特殊ファイル、シンボリックリンク
プロセスの所有者には、目的のオブジェクトが含まれているパス内のすべてのディレクトリに対する任意検索 (実行) 権がなければなりません。目的のオブジェクトに到達すると、アクセス操作は次のように実行できます。
ファイルからの読み取りまたはディレクトリ内容の表示 - プロセスに、オブジェクトのパス内のすべてのディレクトリに対する任意検索 (実行) アクセスと、オブジェクトに対する任意読み取りアクセスがある場合、任意読み取りを実行できます。
ファイルに対する書き込み、ファイルまたはディレクトリの作成、ファイルまたはディレクトリの削除 - プロセスに、オブジェクトのパス内のすべてのディレクトリに対する任意検索 (実行)アクセスと、オブジェクトに対する任意書き込みアクセスがある場合、任意書き込みを実行できます。
実行可能ファイル - プロセスに、ファイルのパス内のすべてのディレクトリに対する任意検索 (実行) アクセスと、ファイルに対する任意実行アクセスがある場合、任意実行を実行できます。
任意アクセス制御 (DAC) チェックが済むと、目的のファイルが含まれているパス内のすべてのディレクトリについて、必須検索アクセスが必要となります。ディレクトリに対する必須検索アクセスは、プロセスの機密ラベルがパス内のすべてのディレクトリの機密ラベルより優位な場合に与えられます。目的のファイルに到達すると、アクセス操作は次のように実行されます。
ファイルからの読み取り、ファイルの実行、ディレクトリ内容の一覧、ファイルのセキュリティ属性の表示、セキュリティ属性フラグの表示 - プロセスにパス内のすべてのディレクトリに対する必須検索アクセスがあり、プロセスの機密ラベルが目的のオブジェクトの機密ラベルより優位な場合は、必須読み取りを実行できます。目的のオブジェクトがデバイス専用ファイルの場合、プロセスの機密ラベルはデバイスの機密ラベルと同等でなければなりません。
ファイルへの書き込み、セキュリティ属性の変更、ファイルセキュリティ属性フラグの変更、ファイルの削除 - プロセスにパス内のすべてのディレクトリに対する任意検索アクセスと必須検索アクセスがあり、ファイルの機密ラベルがプロセスの機密ラベルより優位な場合は、必須書き込みを実行できます。目的のオブジェクトがデバイス専用ファイルの場合、プロセスの機密ラベルはデバイスの機密ラベルと同等でなければなりません。
ファイルまたはディレクトリの作成 - 作成アクセスは同位書き込みです。プロセスがファイル、ディレクトリ、シンボリックリンクを作成する場合、プロセスの機密ラベルはファイルまたはディレクトリの機密ラベルと同等でなければなりません。
ファイルシステムオブジェクトに対する任意または必須のアクセスチェックが失敗した場合、プロセスは、セキュリティポリシーの適用を回避する特権を表明できます。また、現行のラベル、またはユーザーに対してその処理を許容すべきでない場合は、エラーを出すことができます。
任意アクセスは、次のように有効になります。
目的のファイルシステムオブジェクトが含まれるパス内のすべてのディレクトリに対する検索アクセスは、プロセスが file_dac_search 特権を表明する場合に有効になります。
目的のオブジェクトに対する読み取りアクセスは、プロセスが file_dac_read 特権を表明する場合に有効になります。
目的のオブジェクトに対する書き込みアクセスは、プロセスが file_dac_write 特権を表明する場合に有効になります。
目的のオブジェクトに対する実行アクセスは、プロセスが file_dac_execute 特権を表明する場合に有効になります。
必須アクセスは、次のように有効になります。