[Dovecot] multi-instance doveadm user -m woes +WORKAROUND
David Warden
warden at geneseo.edu
Fri May 11 18:22:58 EEST 2012
Some more investigation yielded this solution:
[root at wardentest3 conf.d]# doveadm -c /etc/dovecot/mailtest/dovecot.conf user -m warden
field value
uid 73464
gid 1000
home /home/warden
mail maildir:/Mail/mailhome/warden/mailtest/Maildir:CONTROL=/Mail/mailhome/warden/mailtest/.dovecot-control:INDEX=/Mail/mailhome/warden/mailtest/.dovecot-index
[root at wardentest3 conf.d]# doveadm -c /etc/dovecot/dovecot.conf user -m warden
field value
uid 73464
gid 1000
home /home/warden
mail maildir:/Mail/mailhome/warden/Maildir:CONTROL=/Mail/mailhome/warden/.dovecot:INDEX=/var/cache/dovecot/mailtestindexes/warden/.dovecot-index
So it seems to be a problem with the -i flag to doveadm.
I should note that neither -c or -i show up in my man pages or in the wiki. I'm always nervous about making changes to the wiki (especially if I'm unsure if something is a 2.1+ feature), but it would be nice to see these flags documented somewhere…
-David Warden
On May 11, 2012, at 11:06 AM, David Warden wrote:
> 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