■検知するログは下記です。
Mar 30 20:18:59 ホスト slapd[9291]: ppolicy_bind: Setting warning for password expiry for uid=test,ou=people,ou=Account,dc=****,dc=**** = 7169223 seconds
■logsurfer.confで下記を設定し、LDAPのログを監視していますが、当然有効期限が秒数で件名に出ます。
"password expiry for uid=(.*),ou=people,ou=Account,dc=****,dc=**** = (.*) seconds" - - - 0
pipe "/usr/bin/mail -E -s '$2 pass limit $3' test@test.jp"
やりたい事は、メールの件名にアカウントの有効期限を日数として出す事です。
下記コマンドを上手く組み込めばよさそうなのですが、どうしても分かりません。
expr 7194724 / 60 / 60 / 24
宜しくお願いします。
確認していないのですが、これでいけないかな?
pipe "/bin/sh -c \"/usr/bin/mail -E -s '$2 pass limit `expr $3 / 60 / 60 / 24`' test@test.jp\""
たぶん、pipe の後ろの複数のコマンドを組み合わせた記述が出来ないと思うので、logsurfer が呼び出すのはあくまでも /bin/sh で、/bin/sh の -c で、mail と expr を組み合わせたコマンドラインのイメージを記述する、といった感じです。
手元に logsurfer が無いんで、似たような制限になる find コマンドで -exec を使う場合で試したところ、意図した動きになりました。
ありがとうございまうす。
コマンドラインでやると確かに教えて頂いた内容で出来るのですが、
logsurferの問題でしょうか・・
``の内容が計算されずそのまま表示されてしまいます。
ちなみに$3には値が代入されています。
もう少し考えてみます。