電子書籍の厳選無料作品が豊富!

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

A 回答 (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");
}
---------------------------------------------

できればヘッダーあたりでもうちょっと厳格なチェックを
行った方がいいですけどね。(^-^;
    • good
    • 0

qmail とかじゃないですよね?



/.forward ファイルを作って、スクリプトに転送するようにしておけばOK。

"| /home/me/myscript"

ってな感じ。詳しいことは、man forward して。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!