新規ユーザメールが届かない
Postfix を使っていて Procmail で配送した場合、新規ユーザのメールが送れないことがあります。この原因は、スプールファイルが作れない場合があります。
これは、postfix 以外でメールを配送しようとするとエラーとなるようです。セキュリティからの配慮だとは思うのですが、 spamassassin 等を使う場合は不便なので解決方法を記述してみます。
----------
postfix-1.1.12-0vl0.26
procmail-3.22-0vl2
----------
【postfix だけを使う場合】
procmail を使わなくてもいいという場合もありますので、解決方法を書いておきます。
1:main.cf を編集します。
2:「mailbox_command = /usr/bin/procmail -a $DOMAIN -d $LOGNAME」をコメントアウトします。
3:postfix を再起動して完了です。
-----------------------------------------------------------
【 procmail を修正する】
procmail に setuid/setgid がたっていないことが一番の原因です。
ls -l /usr/bin/procmail としたときに下記のようなパーミッションがいけないようです。
-rwxr-xr-x 1 root mail 77548 Oct 3 2002 procmail
1: setuid を設定する
chmod u+sx /usr/bin/procmail
2: setgid を設定する
chmod g+sx /usr/bin/procmail
(注意) この設定をすると、各ユーザからの実行が可能となることを忘れずに
-----------------------------------------------------------
【スプールポイントを修正する】
スプールするポイントに sticky bit というものを立てます。各ユーザごとにスプールしている場合は、ちょっとわかりません。m(__)m
1:chmod 1777 /var/spool/mail と入力します。するとディレクトリのパーミッションを見ると
drwxrwxrwt 3 root mail 4096 Jan 26 22:52 mail
と、最後に「t」と追加されたことがわかると思います。
このパーミッションは誰でも読み書きできるが、削除はユーザのみということです。
参考URL http://edge.zive.net/linux/setuid.htm
完了! 2003/07/27記述
Let's PC の Topに戻る
ホームページのTopに戻る