メールサーバが、Webサーバやファイルサーバなどを兼ねている場合、サーバへのログインはできるけど、メールは利用できない特殊なユーザが必要になることがある。というか、今そういう状況になったんです。ハイ。
MTA に qmail を採用しており、一般的なインストールをしていると、useradd した時点でメールボックスが作成され、そのユーザはメールの利用が可能になる。普段はコレが便利なんだけど、今回に限っては余計なお世話。メールボックスとか、マジ要らねえ。
単純に Maildir 以下を削除すれば良いかと思ったけど、そうでは無かった。
delivery 76023: deferral: Unable_to_chdir_to_maildir._(#4.2.1)
Maildir を削除したユーザにメールしたら、こんなログが出てしまった。Maildir にアクセスできず、さまよっている模様。どうやら qmail は Maildir の有無で配送の可否を決定しているのでは無いらしい。ユーザの有無が判定基準っぽい。
では、ユーザは存在しているんだけど、qmail には無視させるには、どうしたら良いのか。
「きっとそういうスクリプトが qmail に用意されてら!」と叫んで、1個ずつ man を見ていくと、ありましたよ、ありましたよ。qmail-pw2u ってのが。以下、マニュアル抜粋。
- exclude
- Ignored users, one per line. If exclude exists, and user is listed in exclude, user is ignored.
ということで、以下のようにすると OK 。
# vi /var/qmail/users/exclude
hoge moge (無視したいユーザ名を記述)
# /var/qmail/bin/qmail-pw2u < /etc/passwd > /var/qmail/users/assign # qmail-newu
最終的に /var/qmail/users 以下に、/etc/passwd から /var/qmail/users/exclude に記述したユーザを除外した cdb ファイル (ユーザ管理DB ) が作成される。あとは、qmail が勝手にコレを見て配送の可否を判断してくれるので、一件落着。お疲れさまでした。
ちなみに、そろそろ qmail も古くなってきた気がする。やっぱり時代は Postfix ですかね。
このエントリーのトラックバックURL
- dT at 2005年10月 1日 01:42
気が付けば、Postfix も 2.2.5 まで行っているんですよ!
もはや更新が終わったっぽい qmail より、Postfix に未来はあるかな、と。
脆弱性が無いから qmail には更新が無いという神話もありますが。# でも、昨年だかに、ついに qmail にも脆弱性見つかったんですよね。
へー、参考になったね。
今度、勝手に誰かを試してみよう(笑)
昔やったプロジェクトで、Postfixつかったーさね。
あれから進化を遂げてるのかな?