Dovecot の仮想ユーザー対応
以前の記事で、SMTP
認証の仮想ユーザー対応について紹介した。
メールサーバーにおいての仮想ユーザーとは、Linux アカウント (/etc/passwd) を作成することなく、メールサーバー独自のユーザーを指す。
今回は、POP3/IMAP サーバー dovecot での仮想ユーザー対応方法を紹介する。
"dovecot" グループを作成する (CentOS では、dovecot インストール時に作成されている)。GID は、任意。
[root@centkun ~]# groupadd -g 510 dovecot
"dovecot" ユーザーを作成する (CentOS では、dovecot インストール時に作成されている)。GID は、任意。
[root@centkun ~]# useradd -M -s /sbin/nologin -u 510 dovecot
"vmail" グループを作成する。GID は、任意。
[root@centkun ~]# groupadd -g 511 vmail
"vmail" ユーザーを作成する。GID は、任意。ホームディレクトリ "/home/vmail" を作成することに注意する。
[root@centkun ~]# useradd -u 511 -g vmail -s /sbin/nologin vmail
ログファイル "/var/log/dovecot.log"、"/var/log/dovecot-info.log" を作成する。(この設定は任意。)
[root@centkun ~]# touch /var/log/dovecot.log /var/log/dovecot-info.log
[root@centkun ~]# chown -R vmail:vmail /var/log/dovecot.log
/var/log/dovecot-info.log
"dovecot.conf" を編集する。
[root@centkun ~]# vi /etc/dovecot.conf
ログファイルを指定する。(この設定は任意。)
log_path = /var/log/dovecot.log
info_log_path = /var/log/dovecot-info.log
"auth default" 内に以下の内容を定義する。
auth default {
mechanisms = plain
passdb passwd-file {
args = /etc/dovecot.passwd
}
userdb static {
args = uid=vmail gid=vmail
home=/home/vmail/%u
}
}
パスワードファイルを作成する。
[root@centkun ~]# vi /etc/dovecot.passwd
"dovecotpw" コマンドを使用して、パスワードを暗号化することも可能だが、今回は、プレーンテキストでパスワードを定義する。
以下の通り、ユーザー "user015@masudaq.com"、パスワード "TestingPassword015" を定義する。
user015@masudaq.com:{PLAIN}TestingPassword015
/etc/dovecot.passwd の変更内容を保存する。
dovecot を再起動する。
[root@centkun ~]# service dovecot restart
Dovecot Imap を停止中: [ OK ]
Dovecot Imap を起動中: [ OK ]
POP3 の疎通確認を実施する。
[root@centkun ~]# telnet xxx.xxx.xxx.xxx 110
Trying xxx.xxx.xxx.xxx...
Connected to xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx).
Escape character is '^]'.
+OK Dovecot ready.
user user015@masudaq.com
+OK
pass TestingPassword015
+OK Logged in.
quit
+OK Logging out.
Connection closed by foreign host.
疎通確認が取れない場合は、以下のログファイルを参照し、問題を解決する。
- /var/log/dovecot.log
- /var/log/dovecot-info.log
- /var/log/maillog
また、SELinux が有効になっている場合に、/var/log/dovecot.log、/var/log/dovecot-info.log
が出力できないエラーが発生した。
問題のトレース時には、"system-config-securitylevel" ユーティリティにより、SELinux を無効化し、問題解消後、SELinux
を有効にすれば良いだろう。
コメント (0)
コメントの投稿