久しぶりの備忘録ですね。
Linuxでメールサーバーを構築するとき、
「特定のメールアドレスなどを受信したとき、特定の動きをさせたい。」
と、メールにフィルター掛けるときに「procmail」を使うことがあります。
書き方などは、調べれば幾らでも出てくるのですが、
業務でいじっている時に躓いたことがあったので、
記録を残しておきます。
「procmailrc」ファイルでレシピを作っていき、いざ動作テスト!
しかし、動かない…それはなぜか?
試しにsuコマンドから動作しないアカウントを操作しようとしたら
This account is currently not available.
このエラーが出たってことは、シェルが操作できないこと。
なるほど、レシピでシェル操作を行う部分があるので、だから動作しないのか。
セキュリティ上の観念で、メールアカウントでしか使わないユーザーアカウントは
ユーザーのシェルが「/sbin/nologin 」とかになっている場合が多いですよね。
# /etc/passwd | grep username
username:x:100:100::/home/username/:/nobin/nologin
このとおり「/nobin/nologin」になっていることが確認できました。
しかしセキュリティのことを考えて、この設定を変更するのは如何なものか?
どうすればいいのか。
Answer is Simple
レシピに参照(使いたい)するシェルを指定するだけで良い
SHELL=/bin/bash
これで、ユーザーのシェルの設定を変更することなく、
procmailを動作させることができます。
助かりました.ありがとう