監査デーモンが監査レコードを書き込んでいるときに異常が発生すると、 /etc/security/audit_warn スクリプトが呼び出されます。audit_warn(1M) のマニュアルページを参照してください。このスクリプトをサイトでカスタマイズして、ユーザーの介入を要する場合に警告を出したり、自動処理を行うように設定することができます。どんなエラー状態が発生した場合でも、audit_warn はコンソールにメッセージを書き込み、audit_warn エイリアスにメッセージを送ります。このエイリアスは、監査を有効にした後で管理者が設定します。
audit_warn は、監査デーモンが次の状態を検出した場合に呼び出されます。
監査ディレクトリが minfree の許容値を超えていっぱいになった場合、minfree とは、監査ファイルシステムで使用できる領域の割合であり、設定可能な制限値です。
audit_warn スクリプトを呼び出す際、文字列 soft と利用可能領域が最低値を下回ったディレクトリの名前を指定します。すると、監査デーモンは、次に適したディレクトリに自動的に移動し、この新規ディレクトリがその minfree しきい値に達するまで、そこへ監査ファイルを書き込みます。さらに、audit_control ファイルにリストアップされた順番で、残るディレクトリに 1 つずつ移動し、それぞれが minfree しきい値に達するまで監査レコードを書き込みます。
全監査ディレクトリが minfree しきい値を超えていっぱいになった場合、
audit_warn スクリプトを呼び出す際、引数として文字列 allsoft を指定します。すると、メッセージがコンソールに書き込まれ、電子メールが audit_warn エイリアスへ送られます。
audit_control ファイルにリストアップされた監査ディレクトリ全部が minfree しきい値に達している場合には、監査デーモンは冒頭のディレクトリへ戻り、そのディレクトリが完全にいっぱいになるまで監査レコードに書き込みます。
監査ディレクトリが完全にいっぱいになり、残りの領域がなくなった場合
audit_warn スクリプトを呼び出す際、引数として文字列 hard とディレクトリ名を指定します。すると、メッセージがコンソールに書き込まれ、電子メールが audit_warn エイリアスへ送られます。
監査デーモンは、使用可能な空き領域のある適したディレクトリがあれば、自動的にそのディレクトリに移動します。さらに、audit_control ファイルにリストアップされた順番で、残るディレクトリに 1 つずつ移動し、それぞれがいっぱいになるまで監査レコードを書き込みます。
すべての監査ディレクトリが完全にいっぱいの場合、audit_warn スクリプトを呼び出す際、引数として文字列 allhard を指定します。
デフォルト構成では、メッセージがコンソールに書き込まれ、電子メールが audit_warn エイリアスに送られます。また、監査レコードを生成するプロセスは中断されます。監査デーモンはループに入り、空き領域ができるのを待って監査レコードの処理を再開します。監査レコードの処理が中断している間、監査関連の処理は行えず、監査レコードを生成するプロセスはすべて中断されます。
別の監査デーモンプロセスがすでに実行されている場合 (文字列 ebusy)、一時ファイルが使用できない場合 (文字列 tmpfile)、auditsvc(2) システムコールに失敗した場合 (文字列 auditsvc)、監査の停止中に信号を受信した場合 (文字列 postsigterm) など、何らかの内部エラーが発生した場合
電子メールが audit_warn エイリアスに送られます。