2014/09/12

CentOS6.5とdovecot2.xでPOP3サーバ

CentOS6.5とdovecot2.xでPOPサーバを構築。しかし、かなりなまってるなあ、とおもいつつ作業を進めて、概ね出来たかと動作確認をしたところ、メールクライアントからPOPサーバの設定がうまくいかない。
サーバ側のログを見ると
----------------------
Error: Couldn't open INBOX: Internal error occurred. Refer to server log for more information.
---------------------
となっている。ディレクトリやファイルのパーミッションを確認しても問題ないようなのだがと調べたところ、
/var/spool/mailにあるメールスプールファイルのパーミッションが0600になっていないといけないとわかったので、
-----------------------------
# chmod 0600 /var/spool/mail/hogehoge
-----------------------------
でうまく動作した。
 
 

 しかし、これでは、useraddコマンドでユーザ追加を行うたびに上記のパーミッション変更操作が必要になるので、
・dovecotでのパーミッションチェックを回避できないか
・useradd でユーザを作成する際に、ホームディレクトリと同じパーミッション(0700)にできないか
とか色々と調べてみたが、良い解決策は見つからず。

よくよく考えると、useraddでメールスプールファイルを作らなければ良いだけなので、
/etc/default/useraddで、
CREATE_MAIL_SPOOL=yes
をコメントしてみた。(noにしても同じだろうと思えるが、とりあえず確認のため)。
結果、うまくいきました。
つまり、
・useraddではspoolファイルは作成されない
・新規登録ユーザにメールが届いた時点で、スプールファイルが0600のパーミッションで作られる。
となりました。

ということで、メモ。






2014/09/10

Postfix と dovecot でSASL (SMTP Auth)

Postfix と dovecot でSASL (SMTP Auth)

[root@mail ~]#
vi /etc/dovecot/conf.d/10-auth.conf
# 9行目:コメント解除し変更(プレーンテキスト認証も許可する)

disable_plaintext_auth =
no
# 97行目:追記

auth_mechanisms = plain
login
[root@mail ~]#
vi /etc/dovecot/conf.d/10-mail.conf
# 30行目:コメント解除して追記

mail_location =
maildir:~/Maildir
[root@mail ~]#
vi /etc/dovecot/conf.d/10-master.conf
# 88-90行目:コメント解除し追記

# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix

}
[root@mail ~]#
/etc/rc.d/init.d/dovecot start

Starting Dovecot Imap:
[  OK  ]

[root@mail ~]#
chkconfig dovecot on