私が知る限り、Linux機能はプロセス/ファイルベースで定義されています。しかし、 capsh --print を実行すると、ユーザーの能力が表示されます。
それでは、capsh --printは正確に何をするのでしょうか?能力は、ユーザーではなくプロセスでのみ定義されますか?
ベストアンサー1
capsh
libcap
提供されている機能とAPIを使用して確認する方法を調べるためのツールです。デバッグに使用できます。いつ何が起こるのかあらゆる種類の質問。
の重要な属性capsh
は、引数を左から右に厳密に評価することです。したがって、何かが目的の場所にない理由を特定しようとするときは、パラメータを--print
挿入してそれを見つけることができます。--print
実行中のプロセスの現在の状態を出力するだけですcapsh
。
機能に関連する機能を備えた一種のスイス軍用ナイフと考えるべきです。ツリーを作成してlibcap
使用するquicktest.sh
ライブラリが最新のカーネルなどで動作し続けていることを確認してください。スクリプトには、libcap
カーネル関数を使用したさまざまな操作例と予想される結果が含まれています。
これには環境機能はもちろん、非標準カーネル動作モード(別名libcap
モデル)。
たとえば、次の 2 つのシーケンスは、カーネルの動作方法によって異なる結果を生成します。
$ sudo capsh --iab=^cap_dac_override --user=$(whoami) --print
$ sudo capsh --user=$(whoami) --iab=^cap_dac_override --print
次の質問に自動的に答えることができます。これは環境を少し改善しますか?このような:
$ sudo capsh --user=$(whoami) --iab=^cap_dac_override --has-a=cap_dac_override && echo yes
また、世界を探索したいならPOSIX.1eドラフト委員会は、次のことを試すことができると想像しています。
$ sudo capsh --mode=PURE1E --user=$(whoami) --