「rtld-監査」インタフェースは、次のいずれかの方法によって有効になります。それぞれの方法は、監視対象のオブジェクトの範囲を意味します。
「ローカル」監査は、オブジェクトの作成時にオブジェクト内に記録された動的エントリによって有効になります。この方法によって使用可能になる監査ライブラリには、監査用に識別される動的オブジェクトに関する情報が指定されます。
「大域」監査は、環境変数 LD_AUDIT を使用することにより有効になります。また、ローカル監査動的エントリと -z globalaudit オプションを組み合わせることによっても、アプリケーションの大域監査を有効にすることができます。これらの方法により使用可能になる監査ライブラリには、プロセスが使用するすべての動的オブジェクトに関する情報が指定されます。
それぞれの呼び出し方法は、dlopen(3C) によって読み込まれる共有オブジェクトをコロンで区切ったリストを含む文字列で構成されています。各オブジェクトは、各自の監査リンクマップリストに読み込まれます。また、各オブジェクトは、dlsym(3C) によって、監査ルーチンがないか検索されます。検出された監査ルーチンは、アプリケーション実行中に各段階で呼び出されます。
「rtld-監査」インタフェースを使用すると、複数の監査ライブラリを指定することができます。この方法で使用される監査ライブラリは、通常実行時リンカーによって返される結合を変更することはできません。これらの結合を変更すると、後に続く監査ライブラリで予期しない結果が生じる場合があります。
安全なアプリケーションは、トラストディレクトリからだけ監査ライブラリを取得できます。デフォルトでは、32 ビットオブジェクトの実行時リンカーが認識できるトラストディレクトリは、/lib/secure と/usr/lib/secure だけです。64 ビットオブジェクトの場合、トラストディレクトリは /lib/secure/64 と /usr/lib/secure/64 です。
環境変数 LD_NOAUDIT をヌル以外の値に設定すると、実行時に監査を無効にすることができます。