[Dovecot] multi-instance doveadm user -m woes

David Warden warden at geneseo.edu
Fri May 11 18:06:27 EEST 2012


I'm having difficulty with the doveadm who command on a multi-instance setup of dovecot. When I run the who command on the non-standard instance with the -m flag (to see their mail location), this happens:

[root at wardentest3 dovecot]# doveadm -i mailtest user -m warden
doveadm(root): Error: user warden: Initialization failed: Namespace 'INBOX.': Ambiguous mail location setting, don't know what to do with it: /var/spool/mail/root (try prefixing it with mbox: or maildir:)

I tried adding my mail_location setting as location to both of my legacy and default namespaces, but got the same error.

I also tried adding the -a flag like so:

doveadm user -a /var/run/dovecot/mailtest/auth-userdb -m warden
doveadm(root): Error: userdb lookup: connect(/var/run/dovecot/auth-userdb) failed: Connection refused

(the default instance is currently stopped)

and combining -a and -i out of curiosity:

[root at wardentest3 conf.d]# doveadm -i mailtest user -a /var/run/dovecot/mailtest/auth-userdb -m warden
doveadm(root): Error: user warden: Initialization failed: Namespace 'INBOX.': Ambiguous mail location setting, don't know what to do with it: /var/spool/mail/root (try prefixing it with mbox: or maildir:)

I have 2 instances, default and mailtest:

[root at wardentest3 conf.d]# doveadm instance list
path                                                                                                                               name     last used           running
/var/run/dovecot/mailtest                                                                                                          mailtest 2012-05-11 10:57:16 yes    
/var/run/dovecot                                                                                                                   default  2012-05-11 10:54:09 no

my doveconf -n for the mailtest instance:

# 2.1.6: mailtest/dovecot.conf
doveconf: Warning: service auth { client_limit=4096 } is lower than required under max. load (12288)
doveconf: Warning: service anvil { client_limit=4096 } is lower than required under max. load (12291)
# OS: Linux 2.6.32-220.13.1.el6.x86_64 x86_64 Red Hat Enterprise Linux Server release 6.2 (Santiago) nfs
auth_cache_negative_ttl = 0
auth_cache_size = 16 M
auth_gssapi_hostname = $ALL
auth_krb5_keytab = /etc/dovecot/mailtest/mail.combined.keytab
auth_master_user_separator = *
auth_mechanisms = plain login gssapi
auth_username_format = %Ln
base_dir = /var/run/dovecot/mailtest/
default_client_limit = 4096
default_process_limit = 4096
deliver_log_format = msgid="%m" subject="%s" from="%f" size=%p result="%$"
first_valid_uid = 0
hostname = mailtest.geneseo.edu
instance_name = mailtest
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
login_log_format_elements = user=%u method=%m rip=%r lip=%l lport=%a mpid=%e encryption=%c
mail_fsync = always
mail_location = maildir:/Mail/mailhome/%Ln/mailtest/Maildir:CONTROL=/Mail/mailhome/%Ln/mailtest/.dovecot-control:INDEX=/Mail/mailhome/%Ln/mailtest/.dovecot-index
mail_log_prefix = "service=%s user=%u rip=%r "
mail_nfs_index = yes
mail_nfs_storage = yes
mail_plugins = zlib quota mail_log notify fts fts_squat stats
maildir_very_dirty_syncs = yes
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave
mbox_write_locks = fcntl
mmap_disable = yes
namespace default {
  inbox = yes
  location = 
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Junk {
    auto = no
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix = 
  separator = .
  subscriptions = yes
  type = private
}
namespace legacy {
  alias_for = 
  hidden = yes
  inbox = no
  list = no
  location = 
  mailbox INBOX.Drafts {
    auto = no
    special_use = \Drafts
  }
  mailbox INBOX.Junk {
    auto = no
    special_use = \Junk
  }
  mailbox INBOX.Sent {
    auto = no
    special_use = \Sent
  }
  mailbox INBOX.Trash {
    auto = no
    special_use = \Trash
  }
  prefix = INBOX.
  separator = .
  type = private
}
passdb {
  args = /etc/dovecot/passwd.masterusers
  driver = passwd-file
  master = yes
}
passdb {
  args = cache_key=%u dovecot
  driver = pam
}
plugin {
  fts = squat
  mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename flag_change append
  mail_log_fields = uid box msgid size from subject flags
  mail_log_group_events = yes
  quota = maildir:User quota
  quota_exceeded_message = Quota exceeded (mailbox for user is full). Please see http://go.geneseo.edu/emailoverquota for help deleting messages while over quota.
  quota_rule = *:storage=200M
  quota_rule2 = Trash:storage=+50M
  sieve = /Mail/mailhome/%Ln/mailtest/.filter.sieve
  sieve_dir = /Mail/mailhome/%Ln/mailtest/.sievedir
  sieve_max_redirects = 25
  stats_memory_limit = 32 M
  stats_refresh = 30 secs
  stats_track_cmds = yes
}
postmaster_address = postmaster at geneseo.edu
protocols = imap sieve lmtp
quota_full_tempfail = yes
service auth {
  unix_listener auth-exim {
    group = exim
    mode = 0660
  }
}
service doveadm {
  inet_listener {
    port = 12345
  }
}
service imap-login {
  inet_listener imap {
    port = 1143
  }
  inet_listener imaps {
    port = 1993
  }
  service_count = 0
  vsz_limit = 256 M
}
service imap {
  process_limit = 4096
}
service lmtp {
  inet_listener lmtp {
    port = 124
  }
}
service managesieve-login {
  inet_listener sieve {
    port = 14190
  }
  inet_listener sieve_deprecated {
    port = 12000
  }
  inet_listener sieves {
    port = 14191
    ssl = yes
  }
}
service pop3 {
  process_limit = 4096
}
service stats {
  fifo_listener stats-mail {
    mode = 0666
  }
}
ssl_ca = </etc/pki/tls/certs/geotrust-intermediate.pem
ssl_cert = </etc/pki/tls/certs/wildcard-geotrust.geneseo.edu.pem
ssl_key = </etc/pki/tls/private/wildcard-geotrust.geneseo.edu.key
userdb {
  driver = passwd
}
verbose_proctitle = yes
protocol lmtp {
  mail_plugins = zlib quota mail_log notify fts fts_squat stats sieve
}
protocol lda {
  mail_location = maildir:/Mail/mailhome/%Ln/mailtest/Maildir:CONTROL=/Mail/mailhome/%Ln/mailtest/.dovecot-control:INDEX=/Mail/mailhome/%Ln/mailtest/.dovecot-index
  mail_plugins = zlib quota mail_log notify fts fts_squat stats sieve
  plugin {
    quota = maildir:User quota
    quota_rule = *:storage=200M
    quota_rule2 = Trash:storage=+50M
    zlib_save = gz
    zlib_save_level = 6
  }
}
protocol imap {
  imap_logout_format = bytes(in/out)=%i/%o
  mail_max_userip_connections = 50
  mail_plugins = zlib quota mail_log notify fts fts_squat stats imap_quota imap_zlib imap_stats
}
protocol sieve {
  managesieve_logout_format = bytes(in/out)=%i/%o
}
protocol pop3 {
  pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
  pop3_logout_format = bytes(in/out)=%i/%o, top=%t/%p, retr=%r/%b, del=%d/%m, mailbox-size=%s
  pop3_uidl_format = UID%u-%v
}
remote 137.238.0.0/16/16 {
  disable_plaintext_auth = no
}
local 137.238.2.0/24/24 {
  doveadm_password = *scrub*
}

…and for the default instance:

# 2.1.6: /etc/dovecot/dovecot.conf
doveconf: Warning: service auth { client_limit=4096 } is lower than required under max. load (12288)
doveconf: Warning: service anvil { client_limit=4096 } is lower than required under max. load (12291)
# OS: Linux 2.6.32-220.13.1.el6.x86_64 x86_64 Red Hat Enterprise Linux Server release 6.2 (Santiago) nfs
auth_cache_negative_ttl = 0
auth_cache_size = 16 M
auth_gssapi_hostname = $ALL
auth_krb5_keytab = /etc/dovecot/mailtest.combined.keytab
auth_master_user_separator = *
auth_mechanisms = plain login
auth_username_format = %Ln
default_client_limit = 4096
default_process_limit = 4096
deliver_log_format = msgid="%m" subject="%s" from="%f" size=%p result="%$"
first_valid_uid = 0
hostname = mail.geneseo.edu
instance_name = default
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
login_log_format_elements = user=%u method=%m rip=%r lip=%l lport=%a mpid=%e encryption=%c
mail_location = maildir:/Mail/mailhome/%Ln/Maildir:CONTROL=/Mail/mailhome/%Ln/.dovecot:INDEX=/var/cache/dovecot/mailtestindexes/%Ln/.dovecot-index
mail_log_prefix = "service=%s user=%u rip=%r "
mail_nfs_storage = yes
mail_plugins = zlib quota mail_log notify fts fts_squat stats
maildir_very_dirty_syncs = yes
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave
mbox_write_locks = fcntl
namespace default {
  inbox = yes
  location = 
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Junk {
    auto = no
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix = 
  separator = .
  subscriptions = yes
  type = private
}
namespace legacy {
  alias_for = 
  hidden = yes
  inbox = no
  list = no
  location = 
  mailbox INBOX.Drafts {
    auto = no
    special_use = \Drafts
  }
  mailbox INBOX.Junk {
    auto = no
    special_use = \Junk
  }
  mailbox INBOX.Sent {
    auto = no
    special_use = \Sent
  }
  mailbox INBOX.Trash {
    auto = no
    special_use = \Trash
  }
  prefix = INBOX.
  separator = .
  type = private
}
passdb {
  args = /etc/dovecot/passwd.masterusers
  driver = passwd-file
  master = yes
}
passdb {
  args = cache_key=%u dovecot
  driver = pam
}
plugin {
  fts = squat
  mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename flag_change append
  mail_log_fields = uid box msgid size from subject flags
  mail_log_group_events = yes
  quota = fs:User quota
  quota_exceeded_message = Quota exceeded (mailbox for user is full). Please see http://go.geneseo.edu/emailoverquota for help deleting messages while over quota.
  sieve = /Mail/mailhome/%Ln/.filter.sieve
  sieve_dir = /Mail/mailhome/%Ln/.sievedir
  sieve_max_redirects = 25
  stats_memory_limit = 32 M
  stats_refresh = 5 secs
  stats_track_cmds = yes
}
postmaster_address = postmaster at geneseo.edu
protocols = imap sieve lmtp
quota_full_tempfail = yes
service auth {
  unix_listener auth-exim {
    group = exim
    mode = 0660
  }
}
service imap-login {
  inet_listener imap_mygeneseo {
    port = 144
  }
  service_count = 0
  vsz_limit = 256 M
}
service imap {
  process_limit = 4096
}
service lmtp {
  inet_listener lmtp {
    port = 24
  }
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
  inet_listener sieve_deprecated {
    port = 2000
  }
  inet_listener sieves {
    port = 4191
    ssl = yes
  }
}
service pop3 {
  process_limit = 4096
}
service stats {
  fifo_listener stats-mail {
    mode = 0666
  }
}
ssl_ca = </etc/pki/tls/certs/geotrust-intermediate.pem
ssl_cert = </etc/pki/tls/certs/wildcard-geotrust.geneseo.edu.pem
ssl_key = </etc/pki/tls/private/wildcard-geotrust.geneseo.edu.key
userdb {
  driver = passwd
}
verbose_proctitle = yes
protocol lmtp {
  mail_plugins = zlib quota mail_log notify fts fts_squat stats sieve
}
protocol lda {
  mail_location = maildir:/Mail/mailhome/%Ln/Maildir:CONTROL=/Mail/mailhome/%Ln/.dovecot:INDEX=/var/cache/dovecot/mailtestindexes/%Ln/.dovecot-index
  mail_plugins = zlib quota mail_log notify fts fts_squat stats sieve
  plugin {
    quota = fs:User quota
  }
}
protocol imap {
  imap_logout_format = bytes(in/out)=%i/%o
  mail_max_userip_connections = 50
  mail_plugins = zlib quota mail_log notify fts fts_squat stats quota imap_quota imap_zlib fts imap_stats
}
protocol sieve {
  managesieve_logout_format = bytes(in/out)=%i/%o
}
protocol pop3 {
  pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
  pop3_logout_format = bytes(in/out)=%i/%o, top=%t/%p, retr=%r/%b, del=%d/%m, mailbox-size=%s
  pop3_uidl_format = UID%u-%v
}
remote 137.238.0.0/16/16 {
  disable_plaintext_auth = no
}


More information about the dovecot mailing list