service-specific userdb affecting lmtp, quota-service

Steffen Kaiser skdovecot at smail.inf.fh-brs.de
Wed Aug 3 05:10:38 UTC 2016


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wed, 3 Aug 2016, Steffen Kaiser wrote:

>> 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.
>
> do LMTP and Quota-status fail, if you symlink them to the imap version?

BTW: your posted conf does not contain the virtual plugin and its 
namespace.

>> 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
>>> }
>>> $
>>

- -- 
Steffen Kaiser
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEVAwUBV6F8znz1H7kL/d9rAQKltAf/bl5r175/Iokd+XxoBnsbT8LUfsCM20/p
0tPsnfz9E75nnFgOTTYYKPhc7zJvA61ZMz+yZ9SIYxce7mfA86AGvg7cpD8/KIfO
RnhDuLEmFZbaRqnmrDuJvtbLzg2VargYj65Y0hykeRisdNE/3nh//iPxs/5BQs2z
ZRTeJer3UkYae4AxI8E3P+S5fKWbirIJ5mapM28IVw3+uabRED/2TGO5rEuCToLU
UMgI3tQKDIp04dqPfZGbsYefzv6azUtQQ/JL7BeSd/YdiJibGxI/yb7Z6zNPwUvJ
sn7i6FBKdwT0sirEBfHIk4E+gAZZ0fQMkWq1z8q9C7ImoEgtqsObBg==
=0g6C
-----END PGP SIGNATURE-----


More information about the dovecot mailing list