問題タブ [linux-capabilities]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
permissions - cap_dac_override は cap_dac_read_search のスーパーセットですか?
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
か、それともこの場合は完全に冗長ですか?
linux - statx が EPERM の提供を停止するために必要な機能はどれですか
システムで正常にコンパイルされるプラグイン インターフェイスを使用する Qt プロジェクトがあります。ただし、同じプロジェクトを docker 内でコンパイルすると、Qt 5.10.1 での動作が停止し、メッセージが表示されError: Undefined interface
ました。いくつか実行した後、インクルードのファイルパスの呼び出しが常に を返すため、インターフェイスを定義strace
するmoc
ヘッダー ファイルが見つからないことが判明しました。ドキュメントには、このエラーがどのように生成されるかについても言及されていません。statx
EPERM
docker run --privileged
この問題は修正されましたが、過剰なパーミッションは避けたいので、必要なものだけを設定したかったのです。
これまでのところ、これらすべての機能を (同時にでも) 追加しようとしましたが、成功しませんでした:
- CAP_DAC_OVERRIDE
- CAP_DAC_READ_SEARCH
- CAP_FOWNER
- CAP_SETFCAP
ここで何か不足していますか?
アップデート
これに対するプルリクエストは保留中です。