リンカーとライブラリ

大域監査の記録

大域監査の要件は、環境変数 LD_AUDIT を設定することによって確立できます。たとえば、この環境変数を使えば、アプリケーション main とそのプロセスのすべての依存関係を、監査ライブラリ audit.so.1 を使って監査できます。


$ LD_AUDIT=audit.so.1 main

また、-z globalaudit オプションを指定することで、アプリケーション内のローカル監査を記録することによる大域監査を実現できます。たとえば、大域監査が有効になるようにアプリケーション main を構築するには、リンカーの -P オプションと -z globalaudit オプションを使用します。


$ cc -o main main.c -Wl,-Paudit.so.1 -z globalaudit
$ dump -Lv main | fgrep AUDIT
[5]    DEPAUDIT   audit.so.1
[26]   FLAGS_1    [ GLOBAL_AUDITING ]

監査がこれらのメカニズムのどちらで有効化された場合も、プロセスの「すべて」の動的オブジェクトに関する情報が監査ライブラリに渡されます。