2011-08-04 7 views
2

、Linux上setcapの実行可能ファイルは、コアをダンプしません:setcap実行ファイルからコアダンプを取得するにはどうすればよいですか?特権データの流出を防ぐため

[email protected]$ cat > test.c 
main() { abort(); } 
[email protected]$ gcc test.c 
test.c: In function ‘main’: 
test.c:1: warning: incompatible implicit declaration of built-in function ‘abort’ 
[email protected]$ ./a.out 
Aborted (core dumped) 
[email protected]$ sudo setcap "cap_net_admin=+ep" a.out     
[email protected]$ ./a.out 
Aborted 

あなたは、デバッグと実際にコアファイルを見たいと思っているときにそれを有効にする方法はありますか?

+0

コアダンプは有効になっていますか? 'ulimit -c unlimited' – wallyk

+0

うん、私は問題なしで他のすべてのものにコアダンプを使用する。 – ijw

答えて

8

私はさらなる研究の後に2つの答えがあります。

  1. システム全体の動作を変更することができます。これは、1つのユーザーの開発マシンを越えて、実際には適していませんが、それはトリックを行います。

    テスト済み
    echo 1 > /proc/sys/fs/suid_dumpable 
    

    、動作します。

    prctl(PR_SET_DUMPABLE, 1); 
    

    このように、特権プログラムが、それはダンプ可能であることを自身のために決定し、システム:

  2. あなたはそれにはprctl()を呼び出すことにより、特定のプログラムの動作を変更することができます全体は影響を受けません。

    私はこれを試していません。

関連する問題