Oracle® Solaris 11.2 リンカーとライブラリガイド

印刷ビューの終了

更新: 2014 年 7 月
 
 

監査インタフェースの呼び出し

「rtld-監査」インタフェースは、次のいずれかの方法によって有効になります。それぞれの方法は、監視対象のオブジェクトの範囲を意味します。

  • ローカル監査は、オブジェクトの作成時に 1 つまたは複数の監査プログラムを定義することで有効になります。ローカル監査の記録を参照してください。この方法で実行時に使用可能になる監査ライブラリには、ローカル監査を要求した動的オブジェクトに関する情報が提供されます。

  • 大域監査は、環境変数 LD_AUDIT を使用して 1 つまたは複数の監査プログラムを定義することで有効になります。また、ローカル監査定義と –z globalaudit オプションを組み合わせることによっても、アプリケーションの大域監査を有効にすることができます。大域監査の記録を参照してください。これらの方法により実行時に使用可能になる監査ライブラリには、アプリケーションが使用するすべての動的オブジェクトに関する情報が提供されます。

監査プログラムを定義する両方のメソッドでは、dlmopen(3C) によってロードされる、コロン区切りの共有オブジェクトリストから構成される文字列を使用します。各オブジェクトは、各自の監査リンクマップリストに読み込まれます。また、各オブジェクトは、dlsym(3C) によって、監査ルーチンがないか検索されます。検出された監査ルーチンは、アプリケーション実行中に各段階で呼び出されます。

安全なアプリケーションは、トラストディレクトリからだけ監査ライブラリを取得できます。デフォルトでは、32 ビットオブジェクトの実行時リンカーが認識できるトラストディレクトリは、/lib/secure/usr/lib/secure だけです。64 ビットオブジェクトの場合、トラストディレクトリは /lib/secure/64/usr/lib/secure/64 です。


注 -  環境変数 LD_NOAUDIT をヌル以外の値に設定すると、実行時に監査を無効にすることができます。