Top / test / Ubuntu 10.04 LTS Server / 08_dovecot_virtualdomain

test/Ubuntu 10.04 LTS Server/05_dovecot_tls

バーチャルドメインへの対応

パスワードファイルの作成

まずは、passwd形式のファイルを各ドメインのhome以下に(/home/[ドメイン名]/etc/mail.passwd)として配置する。

mail.passwdファイルの形式としては、http://www.dovecot.jp/doc1_1_16/wiki/AuthDatabase.PasswdFile.txt に記載されているような形式となる。

passwdファイルと互換があるので、以下のようにして、該当するユーザーを抜き出して、mail.passwdに付け足す。

$ sudo cat /etc/passwd | grep [ユーザー名]  >> /home/[ドメイン名]/etc/mail.passwd

その後、mail.passwdを編集する。

mail.passwdについては、他のユーザーから見られないために、rootで600で作成しておけば、使用できる。

user:password:uid:gid:(gecos):home:(shell):extra_fields という形式なので、

  • まずuserの行からドメイン名を取ったものに変更する。
  • 最後のextra_fieldsを削除する。
  • 2つめのpasswordの項目を、{PLAIN}hogehogeに変更する。

これによって、popとimapと(postfixのauth)のパスワードがhogehogeにとなる。

dovecotへの設定

pam以外に、/home/[ドメイン名]/etc/mail.passwd も参照しに行くように設定する。 下記の2つの項目を追記する。

$ diff -uN dovecot.conf.ok2 dovecot.conf
--- dovecot.conf.ok2    2010-03-27 12:33:46.808608643 +0900
+++ dovecot.conf        2010-03-27 15:55:02.931943501 +0900
@@ -988,6 +988,9 @@
     # <Path for passwd-file>
     #args =
   #}
+  passdb passwd-file {
+    args = username_format=%n /home/%d/etc/mail.passwd
+  }

   # checkpassword executable authentication
   # NOTE: You will probably want to use "userdb prefetch" with this.
@@ -1050,6 +1053,9 @@
     # [username_format=<format>] <Path for passwd-file>
     #args =
   #}
+  userdb passwd-file {
+    args = username_format=%n /home/%d/etc/mail.passwd
+  }

   # checkpassword executable user database lookup
   # </usr/share/doc/dovecot-common/wiki/AuthDatabase.CheckPassword.txt>

ユーザー認証周りでうまくいかない場合には、

dovecotのユーザー認証周りでうまくいかない場合には、

auth_verbose = yes
auth_debug = yes
auth_debug_passwords = yes

これらの3つを設定すると良いかも。

postfixのバーチャルドメインでのauth

dovecotの設定がうまくできて、popやimapができるようになると、postfixのauthについても、@つきのユーザーでも可能になる。

auth plain [base64エンコードした文字列]

でテストをしてみる。

plaintext以外でのauth

PAMを使用しない、virtualdomainのメールユーザーについては、mail.passwdを{plain}て作成していると、plainでないmechanismsでauthすることができる。 すると、セキュリティが向上する。 今まででにできたmechanismは

  • CRAM-MD5
  • login
  • plain
  mechanisms = plain login cram-md5

それ以外のauthについても確認する。 http://nai.homelinux.net/telnet_smtp_auth.html


トップ   一覧 単語検索   最終更新のRSS
Last-modified: 2010-08-26 (木) 23:04:19 (2829d)