- ベストアンサー
mailを受信するとシェルスクリプト起動
root宛てにメールが送信されると、/etc/groupファイルを更新するといった、シェルスクリプトを起動させる方法を教えてください。
- みんなの回答 (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)
qmail とかじゃないですよね? /.forward ファイルを作って、スクリプトに転送するようにしておけばOK。 "| /home/me/myscript" ってな感じ。詳しいことは、man forward して。