• ベストアンサー

mailを受信するとシェルスクリプト起動

root宛てにメールが送信されると、/etc/groupファイルを更新するといった、シェルスクリプトを起動させる方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • riyop
  • ベストアンサー率41% (7/17)
回答No.2

~root/.forward (sendmailの場合) ~root/.qmail (qmailの場合) というファイル名で下記の内容を用意します。 実行する任意のファイル名を頭に「|」をつけます。 ----------------------------------- | /path/to/script ----------------------------------- 「/etc/groupファイルを更新」ということですが どう更新したいのかが分かりませんので何とも言えませんが 恐らくセキュリティ上の問題もありますので、エラーチェックなどを 行う必要があると思います。 参考までにperlでやってみるとこうなります。 --------------------------------------------- #!/usr/bin/perl while(<STDIN>){ if(/^passwd: (.*)/){$pass=$1;} if(/^group: (.*)/){$group=$1;} if(/^action: (.*)/){$action=$1;} } if($pass eq "mypass"){ system("group$action $group"); } --------------------------------------------- できればヘッダーあたりでもうちょっと厳格なチェックを 行った方がいいですけどね。(^-^;

その他の回答 (1)

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

qmail とかじゃないですよね? /.forward ファイルを作って、スクリプトに転送するようにしておけばOK。 "| /home/me/myscript" ってな感じ。詳しいことは、man forward して。

関連するQ&A