1

I'm testing my Dovecot configuration with mutt but without success. I have user user@example.com, I created home directory for him with maildirmake.dovecot command. But Dovecot cant cd to home directory even if I set 0777 permissions on that home dir.

Error log:

imap(user@example.com): Error: chdir(/var/spool/mail/mailboxes/example.com/user) failed: No such file or directory
imap(user@example.com): Debug: Effective uid=5000, gid=5000, home=/var/spool/mail/mailboxes/example.com/user, chroot=/var/tmp/vmail_chroot/
imap(user@example.com): Debug: Home dir not found: /var/spool/mail/mailboxes/example.com/user
imap(user@example.com): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/var/spool/mail/mailboxes/example.com/user:LAYOUT=fs
imap(user@example.com): Debug: fs: root=/var/spool/mail/mailboxes/example.com/user, index=, indexpvt=, control=, inbox=/var/spool/mail/mailboxes/example.com/user, alt=
imap(user@example.com): Debug: Namespace : /var/spool/mail/mailboxes/example.com/user doesn't exist yet, using default permissions
imap(user@example.com): Debug: Namespace : Using permissions from /var/spool/mail/mailboxes/example.com/user: mode=0700 gid=default
imap(user@example.com): Error: user user@example.com: Initialization failed: Namespace '': mkdir(/var/spool/mail/mailboxes/example.com/user) failed: Permission denied (euid=5000(<getpwuid() error>) egid=5000(<getgrgid() error>))
imap(user@example.com): Error: Invalid user settings. Refer to server log for more information.

Dovecot config:

# 2.2.9: /etc/dovecot/dovecot.conf
# OS: Linux 3.13.0-55-generic x86_64 Ubuntu 14.04.3 LTS ext4
auth_debug = yes
auth_debug_passwords = yes
auth_mechanisms = login digest-md5 cram-md5
auth_verbose = yes
first_valid_gid = 5000
first_valid_uid = 5000
last_valid_gid = 5000
last_valid_uid = 5000
mail_chroot = /var/tmp/vmail_chroot/
mail_debug = yes
mail_location = maildir:/var/spool/mail/mailboxes/%d/%n:LAYOUT=fs
mailbox_list_index = yes
namespace inbox {
  inbox = yes
  location = 
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix = 
  type = private
}
passdb {
  args = scheme=CRYPT username_format=%u /etc/dovecot/users
  driver = passwd-file
}
plugin {
  quota_rule = *:storage=100M
}
protocols = " imap lmtp pop3"
service auth-worker {
  user = $default_internal_user
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0666
    user = postfix
  }
}
service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 0
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}
ssl_cert = </etc/ssl/certs/x.example.com.pem
ssl_key = </etc/ssl/private/example.com.key
ssl_protocols = !SSLv2 !SSLv3
userdb {
  args = username_format=%u /etc/dovecot/users
  driver = passwd-file
}
QkiZ
  • 634
  • 2
  • 9
  • 22
  • are you really sure, the paths from the error message are existing? The log says quite clear, that they aren't there. – allo Feb 08 '16 at 00:24
  • Yes, I'm sure. I can change dir from bash to home dir, even as vmail user (uid 5000). Like wrote before this is not permissions problem, dovecot can't change dir even with 777 permissions to that dir. There is no SELinux or AppArmor profile. – QkiZ Feb 08 '16 at 07:14

1 Answers1

1

When I run doveadm user user@example.com I got:

field   value
uid 5000
gid 5000
home    /var/tmp/vmail_chroot//home/vmail/example.com/user
mail    sdbox:~/sdbox

There is no directory like /var/tmp/vmail_chroot//home/vmail/example.com/user

Line mail_chroot = /var/tmp/vmail_chroot/ brokes config. After disabling it everything works fine.

QkiZ
  • 634
  • 2
  • 9
  • 22