praudit の出力を sed や awk で 処理したり、バイナリ形式の監査レコードを変換して処理するプログラムを作成すると、より高度な画面出力やレポートを得ることができます。
場合によっては、 praudit の出力をテキストの行として扱うと便利です。たとえば、auditreduce で実行できない選択を行う場合などに、簡単なシェルスクリプトで praudit の出力を処理することができます。次の例は praudit_grep といいます。
#!/bin/sh praudit | sed -e '1,2d' -e '$s/^file.*$//' -e 's/^header/^aheader/' ¥¥ | tr '¥¥012¥¥001' '¥¥002¥¥012' ¥¥ | grep "$1" ¥¥ | tr '¥¥002' '¥¥012'
このスクリプト例では、header トークンの前に Control-A が置かれています。(^a は Control-A を表しています。^ と a の 2 文字ではありません。こうした接頭辞は、テキストとして現れる文字列ヘッダーとヘッダートークンを区別するために必要です。) このスクリプトは、Control-A で行ブレークを保持しながらレコードの全トークンを 1 行にまとめ、grep コマンドを実行して、もとの改行文字を修復します。
Trusted Solaris 環境でスクリプトを実行するには、次の条件を満たしている必要があります。
スクリプトが admin_low
ディレクトリにあり、プロファイルマネージャで表示できること
セキュリティ管理者が、Custom Admin Role などの適切なプロファイルにスクリプトを追加し、「強制された特権」を与えていること
セキュリティ管理者が、役割のプロファイルにないスクリプトのコマンドを適切なプロファイルに追加していること
管理役割が書き込みアクセス権を持つディレクトリの admin_high
プロファイルシェルでスクリプトを実行すること