service-specific userdb affecting lmtp, quota-service

Michael Fox news at mefox.org
Tue Aug 2 18:00:05 UTC 2016


Update:

I was able to eliminate the /var/log/mail.err error messages (shown below)
by creating a userdb.quota-status and userdb.lmtp passwd-file.  However,
since userdb.pop3 and userdb.imap will have different extra-fields values
for namespace (different namespace/xxx/inbox=yes values) I can't simply
create userdb.quota-status and userdb.lmtp as the union of userdb.pop3 and
userdb.imap.  At a minimum, the extra-fields namespace info has to be left
out.  

So this creates the question:  For each service, which fields does the
userdb need to contain?  I can't find that documented anywhere.

For example, for the quota-status service, I presume the following are
needed:
-- username
-- home directory  (since mail_location = maildir:~/Maildir)
-- any "quota=" overrides in the extra-fields
-- nothing else

Is that right?


And I presume userdb.lmtp needs to return:
-- username
-- home directory  (since mail_location = maildir:~/Maildir)
-- nothing else

Is that right?

Thanks,
Michael


> -----Original Message-----
> 
> The service specific passwd-file userdb is causing quota-status and lmtp
> to
> fail.
> 
> Using:
> userdb {
>   args = ... /etc/dovecot/auth.d/%d/userdb.%s
> }
> 
> I'm getting the following in /var/log/mail.err when I try to send/receive
> mail:
> 
> Aug  1 15:46:57 n6mef-gw dovecot: auth: Error:
> passwd-file(mefpop at email.n6mef.org):
> stat(/etc/dovecot/auth.d/email.n6mef.org/userdb.quota-status) failed:
> Address family not supported by protocol
> Aug  1 15:47:08 n6mef-gw dovecot: auth: Error:
> passwd-file(mefpop at email.n6mef.org):
> stat(/etc/dovecot/auth.d/email.n6mef.org/userdb.lmtp) failed: Address
> family
> not supported by protocol
> 
> I don't have a userdb.quota-status or userdb.lmtp.
> 
> Is there something else that needs to be in the configuration to prevent
> these services from needing their own userdb?
> 
> Thanks,
> Michael
> 
> 
> $ doveconf -n
> # 2.2.9: /etc/dovecot/dovecot.conf
> # OS: Linux 3.16.0-76-generic x86_64 Ubuntu 14.04.4 LTS
> auth_mechanisms = cram-md5
> auth_verbose = yes
> mail_gid = vmail
> mail_location = maildir:~/Maildir
> mail_plugins = " quota"
> mail_uid = vmail
> 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 =
> }
> passdb {
>   args = /etc/dovecot/deny-users
>   deny = yes
>   driver = passwd-file
> }
> passdb {
>   args = scheme=cram-md5 username_format=%n /etc/dovecot/auth.d/%d/passdb
>   driver = passwd-file
> }
> plugin {
>   quota = maildir:User quota
>   quota_grace = 10%%
>   quota_rule = *:storage=50MB
>   quota_rule2 = Trash:storage=+10%%
>   quota_status_nouser = DUNNO
>   quota_status_overquota = 552 5.2.2 Mailbox is full
>   quota_status_success = DUNNO
>   quota_status_toolarge = 552 5.2.3 Message is too large
>   quota_warning = storage=90%% quota-warning 90 %n %d
>   quota_warning2 = storage=75%% quota-warning 75 %n %d
> }
> pop3_lock_session = yes
> protocols = pop3 imap lmtp
> service auth {
>   unix_listener /var/spool/postfix/private/dovecot-auth {
>     group = postfix
>     mode = 0660
>     user = postfix
>   }
>   unix_listener auth-userdb {
>     group = vmail
>     mode = 0600
>     user = vmail
>   }
> }
> service lmtp {
>   unix_listener /var/spool/postfix/private/dovecot-lmtp {
>     group = postfix
>     mode = 0600
>     user = postfix
>   }
> }
> service pop3 {
>   executable = pop3 postlogin
>   process_limit = 25
> }
> service postlogin {
>   executable = script-login /etc/dovecot/postlogin.sh
>   group = vmail
>   user = vmail
> }
> service quota-status {
>   client_limit = 1
>   executable = quota-status -p postfix
>   inet_listener {
>     port = 12340
>   }
> }
> service quota-warning {
>   executable = /etc/dovecot/quota-warning.sh
>   user = vmail
> }
> ssl = required
> ssl_cert = </opt/xsc/ssl/certs/n6mef-gw.crt
> ssl_key = </opt/xsc/ssl/private/n6mef-gw.key
> ssl_protocols = !SSLv2 !SSLv3
> userdb {
>   args = username_format=%n /etc/dovecot/auth.d/%d/userdb.%s
>   default_fields = home=/var/vmail/%d/%n
>   driver = passwd-file
> }
> verbose_ssl = yes
> protocol lmtp {
>   postmaster_address = xxxxxxxxxxxxxxxxx
> }
> protocol imap {
>   mail_max_userip_connections = 10
> }
> protocol pop3 {
>   mail_max_userip_connections = 1
> }
> remote 192.168.7.0/24/24 {
>   ssl = yes
> }
> remote 192.168.7.0/27/27 {
>   ssl = no
> }
> $



More information about the dovecot mailing list