特徴は、以下のようになります。
- /etc/passwdと(ほぼ)同じ書式で記述ができる(⇒ extra_fieldが追加できる)
- 認証で必要な箇所だけ記述すれば利用できる(下記の設定例を参照ください)
- システムアカウントにもバーチャルアカウントにも利用できる
以下、設定例です。
※評価はCentOS6.4(x86_64) + dovecot 2.2.4で行っています。
システムアカウントで利用する場合
※SSHのパスワードなどと、メールのパスワードを別にしたい場合に有用です1./etc/dovecot/usersを以下のように作成します。
user01:{PLAIN}password
user02:{PLAIN}password
2.passwd-fileを利用する為の設定
/etc/dovecot/conf.d/10-auth.conf:
※以下の行を有効にします
/etc/dovecot/conf.d/auth-system.conf.ext:
※以下の行だけ有効にします
/etc/dovecot/conf.d/auth-passwdfile.conf.ext:
※以下の行だけ有効にします
最終的な全体設定は以下のようになります。
※以下の行を有効にします
!include auth-system.conf.ext
!include auth-passwdfile.conf.ext
/etc/dovecot/conf.d/auth-system.conf.ext:
※以下の行だけ有効にします
userdb {
driver = passwd
}
※以下の行だけ有効にします
passdb {
driver = passwd-file
args = scheme=CRYPT username_format=%u /etc/dovecot/users
}
# doveconf -n
# 2.2.4: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-358.14.1.el6.x86_64 x86_64 CentOS release 6.4 (Final)
disable_plaintext_auth = no
listen = *
mail_debug = yes
mail_location = maildir:~/Maildir
passdb {
args = scheme=CRYPT username_format=%u /etc/dovecot/users
driver = passwd-file
}
protocols = pop3
ssl = no
userdb {
driver = passwd
}
バーチャルアカウントでの利用する場合
下記ではメールBOXなどの情報をstaticに持たせています1./etc/dovecot/usersを以下のように作成します。
user01@example.com:{PLAIN}password
user02@example.jp:{PLAIN}password
2. passwd-fileを利用する為の設定
/etc/dovecot/conf.d/10-auth.conf:
※以下の行を有効にします
!include auth-passwdfile.conf.ext
!include auth-static.conf.ext
/etc/dovecot/conf.d/auth-passwdfile.conf.ext:
※以下の行だけ有効にします
passdb {
driver = passwd-file
args = scheme=CRYPT username_format=%u /etc/dovecot/users
}
/etc/dovecot/conf.d/auth-static.conf.ext:
※以下の行だけ有効にします
userdb {
driver = static
args = uid=vmail gid=vmail home=/home/vmail/%d/%u
}
※vmailユーザはあらかじめ以下のように作成しておく必要があります
# groupadd -g 5000 vmail
# useradd -g 5000 -u 5000 -s /sbin/nologin vmail
最終的な全体設定は以下のようになります。
# doveconf -n
# 2.2.4: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-358.14.1.el6.x86_64 x86_64 CentOS release 6.4 (Final)
disable_plaintext_auth = no
listen = *
mail_debug = yes
mail_location = maildir:~/Maildir
passdb {
args = scheme=CRYPT username_format=%u /etc/dovecot/users
driver = passwd-file
}
protocols = pop3
ssl = no
userdb {
args = uid=vmail gid=vmail home=/home/vmail/%d/%u
driver = static
}
以上で、/etc/dovecot/usersに記述した2ユーザーでアクセスするとメールBOXは
以下のようになります。
# pwd
/home/vmail
# ls -l
total 8
drwx------ 3 vmail vmail 4096 Aug 5 00:06 example.com/
drwx------ 3 vmail vmail 4096 Aug 5 00:05 example.jp/
# find .
.
./example.jp
./example.jp/user02@example.jp
./example.jp/user02@example.jp/Maildir
./example.jp/user02@example.jp/Maildir/dovecot-uidvalidity.51fe6dce
./example.jp/user02@example.jp/Maildir/maildirfolder
./example.jp/user02@example.jp/Maildir/dovecot.index.log
./example.jp/user02@example.jp/Maildir/dovecot-uidlist
./example.jp/user02@example.jp/Maildir/dovecot-uidvalidity
./example.jp/user02@example.jp/Maildir/tmp
./example.jp/user02@example.jp/Maildir/cur
./example.jp/user02@example.jp/Maildir/new
./.bash_logout
./example.com
./example.com/user01@example.com
./example.com/user01@example.com/Maildir
./example.com/user01@example.com/Maildir/maildirfolder
./example.com/user01@example.com/Maildir/dovecot.index.log
./example.com/user01@example.com/Maildir/dovecot-uidlist
./example.com/user01@example.com/Maildir/dovecot-uidvalidity
./example.com/user01@example.com/Maildir/tmp
./example.com/user01@example.com/Maildir/cur
./example.com/user01@example.com/Maildir/new
./example.com/user01@example.com/Maildir/dovecot-uidvalidity.51fe6de3
./.bash_profile
./.bashrc
#
0 件のコメント:
コメントを投稿