QA@IT

Dovecotでユーザディレクトリが生成されない

3971 PV

CentOS 6.5
Dovecot 2.0.9でIMAP/POP3サーバを建てたいと思っています。
MTAはPostfix 2.6.6です。

バーチャルドメインで、諸々設定をした後
Thunderbirdでテストログインしたところ、
POP3は問題なくログイン・メールの受信ができたのですが、
IMAPでゴミ箱(Trash)を見ようとしたりする時に
「Mailbox doesn't exist: Trash.」
と返されてしまいます。

詳細ログを出すにようして確認したところ、以下の様な気になるところがありました。

Feb 8 00:09:18 xxxxx dovecot: imap-login: Login: user=<xxx@example.com>, method=PLAIN, rip=111.111.111.111, lip=222.222.222.222, mpid=19912, TLS
Feb 8 00:09:18 xxxxx dovecot: imap(xxx@example.com): Debug: Effective uid=10000, gid=10000, home=/var/vmail/example.com/xxx@example.com/
Feb 8 00:09:18 xxxxx dovecot: imap(xxx@example.com): Debug: Home dir not found: /var/vmail/example.com/xxx@example.com/
Feb 8 00:09:18 xxxxx dovecot: imap(xxx@example.com): Debug: maildir++: root=/var/vmail/example.com/xxx@example.com, index=, control=, inbox=/var/vmail/example.com/xxx@example.com
Feb 8 00:09:18 xxxxx dovecot: imap(xxx@example.com): Debug: Namespace : Permission lookup failed from /var/vmail/example.com/xxx@example.com
Feb 8 00:09:18 xxxxx dovecot: imap(xxx@example.com): Debug: Namespace : Using permissions from /var/vmail/example.com/xxx@example.com: mode=0700 gid=-1

ログインした直後にDovecotによってユーザメールディレクトリが生成されますが、その際にパーミッションエラー(?)が発生しているようです。

ディレクトリは、/var/vmailが

drwx------ 3 vmail vmail 4096 2月 11 00:42 2014 vmail

それ以下は

#ls -l /var/vmail
drwx------ 3 vmail vmail 4096 2月 11 00:42 2014 example.com
#ls -l /var/vmail/example.com
drwx------ 6 vmail vmail 4096 2月 11 02:47 2014 xxx@example.com
#ls -al /var/vmail/example.com/xxx@example.com
-rw------- 1 vmail vmail    0 Feb 11 00:42 .INBOX
drwx------ 3 vmail vmail 4096 Feb 11 00:42 .imap
drwx------ 2 vmail vmail 4096 Feb 11 02:46 cur
-rw------- 1 vmail vmail   51 Feb 11 02:47 dovecot-uidlist
-rw------- 1 vmail vmail    8 Feb 11 02:46 dovecot-uidvalidity
-r--r--r-- 1 vmail vmail    0 Feb 11 02:46 dovecot-uidvalidity.52f9105f
-rw------- 1 vmail vmail  248 Feb 11 02:47 dovecot.index.log
drwx------ 2 vmail vmail 4096 Feb 11 02:46 new
drwx------ 2 vmail vmail 4096 Feb 11 23:10 tmp

となっています。

Dovecotの設定は、

# dovecot -n
# 2.0.9: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-431.3.1.el6.x86_64 x86_64 CentOS release 6.5 (Final) ext4
auth_debug = yes
auth_mechanisms = plain login
auth_verbose = yes
first_valid_gid = 10000
first_valid_uid = 10000
last_valid_gid = 10000
last_valid_uid = 10000
listen = *
login_greeting = ready.
mail_debug = yes
mail_gid = 10000
mail_location = maildir:/var/vmail/%d/%u
mail_uid = 10000
mbox_write_locks = fcntl
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocols = imap pop3
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
}
service imap-login {
inet_listener imaps {
port = 993
ssl = yes
}
}
service pop3-login {
inet_listener pop3 {
port = 110
}
inet_listener pop3s {
port = 995
ssl = yes
}
}
ssl_cert = </etc/pki/dovecot/certs/example.com.cert
ssl_key = </etc/pki/dovecot/private/example.com.key
syslog_facility = local0
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
verbose_ssl = yes

試しに、/var/vmail以下を777にしてみたりもしたのですが、
同様のエラーが発生します。
またログの最後の"gid=-1"というのが何なのかも気になります。
何か必要な設定がありますでしょうか?

  • maildir++ だと子フォルダは . で始まるディレクトリなので .Trash があるかどうかの確認のために ls -l の結果ではなく ls -al の結果にした方が良いのではないでしょうか。 -
  • ご指摘ありがとうございます。
    仰るとおりですね。投稿を修正しました。
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。