libcapでcap_dac_overrideを使用する方法

libcapでcap_dac_overrideを使用する方法

cap_dac_overrideをテストしようとしています。簡単なHello Worldを書きました。プログラムをコンパイルし、実行可能ファイルからすべての権限を削除しました。

現在、./helloを実行してプログラムを実行することはできません。そうですね。今、ユーザーが実行権限を持っていなくても、プログラムを実行し続ける機能を適用したいと思います。

プログラムを実行し続けるために cap_dac_override を設定する方法を教えてください。それともcap_dac_overrideを完全に間違って使用していますか?

setcap cap_dac_override=ep hello

答え1

機能と権限を混同しています。

これファイルモードビットまたは特権説明するどんなファイルができますか?。ファイルからすべての権限を削除すると、誰もがファイルを読み取ったり、ファイルに書き込んだり、ファイルを実行したりできないようにオペレーティングシステムに表示されます。

一方、ファイル関数について説明します。どんなファイルができますか?あるいは、そのプログラムファイルで開始されたプロセスが他の方法では実行できないことを実行できます。

setcap cap_dac_override=ep helloプログラムがhello実行時に一般的な権限チェックを無視することを許可します。ただし、これを実行しようとしたときに適用される一般的な権限チェックは変更されませんhello

関連情報