4

cap_dac_override私は既存の複雑なアプリケーションの機能を制限することに取り組んでおり、に含まれるアクセス許可が のスーパーセットであることを証明する信頼できる情報源をしばらく探していましたcap_dac_read_search

次のように、実際にそうであることは論理的に思えますcapabilities(7)

CAP_DAC_OVERRIDE
* ファイルの読み取り、書き込み、および実行権限チェックをバイパスします。

CAP_DAC_READ_SEARCH
* ファイル読み取り許可チェックとディレクトリ読み取りおよび実行許可チェックをバイパスします。
* open_by_handle_at(2) を呼び出します。
* linkat(2) AT_EMPTY_PATH フラグを使用して、ファイル記述子によって参照されるファイルへのリンクを作成します。

cap_dac_overrideまた、機能チェック トレーサーを使用した私の実験では、それで十分であることを確認しています。読み取りアクセスが実行されるたびcap_dac_read_searchにチェックされるようです。cap_dac_override

また、 grsecurity フォーラムで次の投稿を見つけました/proc

この場合、アップストリーム カーネルが機能する方法は、最初に CAP_DAC_OVERRIDE をチェックし、次に CAP_DAC_READ_SEARCH をチェックすることです。

cap_dac_read_searchファイルシステム全体への完全な読み取りアクセスをアプリケーションに許可したい場合、省略しても安全かどうかはまだわかりません。cap_dac_overrideさらに書き込み権限を付与することを十分に認識しており、それが必要です。

カーネルのどこかに、 のチェックのみが行われ、 のチェックcap_dac_read_searchが行われない場所がある可能性はありcap_dac_overrideますか?

安全のためにこれらの機能を両方含める必要がありますcap_dac_read_searchか、それともこの場合は完全に冗長ですか?

4

2 に答える 2