logsurferを利用し、LDAP内アカウントの有効期限をメール通知する設定を調査してます。


■検知するログは下記です。
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

宜しくお願いします。

回答の条件
  • 1人3回まで
  • 13歳以上
  • 登録:2010/03/30 20:29:21
  • 終了:2010/03/31 15:27:46

回答(1件)

id:JULY No.1

JULY回答回数966ベストアンサー獲得回数2472010/03/30 23:49:16

ポイント60pt

確認していないのですが、これでいけないかな?

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 を使う場合で試したところ、意図した動きになりました。

id:sifty77

ありがとうございまうす。

コマンドラインでやると確かに教えて頂いた内容で出来るのですが、

logsurferの問題でしょうか・・

``の内容が計算されずそのまま表示されてしまいます。

ちなみに$3には値が代入されています。

もう少し考えてみます。

2010/03/31 13:16:16
  • id:sifty77
    結局logsurferでは複数コマンドを受け付けないみたいなので、
    スクリプトを用意して実行する事で強引に解決させましたw

    スクリプト内容
    secondday.sh
    ----------------------------------------------------------------------------
    #!/bin/sh
    /usr/bin/mail -E -s "$1 passwd limit `expr $2 / 60 / 60 / 24` days" test@test.jp
    ----------------------------------------------------------------------------

    logsurfer.conf
    ----------------------------------------------------------------------------
    "password expiry for uid=(.*),ou=people,ou=Account,dc=test,dc=test = (.*) seconds" - - - 0
    pipe "/usr/local/bin/secondday.sh $2 $3"
    ----------------------------------------------------------------------------

    これで

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません