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
}
$
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 > } > $
Steffen Kaiser
2016-Aug-03 04:44 UTC
service-specific userdb affecting lmtp, quota-service
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, 2 Aug 2016, Michael Fox 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?> 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 iQEVAwUBV6F2unz1H7kL/d9rAQKP0AgArfFBzFeioX/90YBHWJlyOAJT8D+daQWl TRBg8OJo15haoKn6JkzJbtuZHOkV0/YPW09sWKF8e8/6LgIU512HZibE2QkD2cPl 6v5Xt4hxRtDeY7YpdzxegJ1HjoLkGsCiFIc9EXBSxlDIcvnyz74h4FdYIldhwjoY WErisoF3bKzz5vzf609JoB4veu6nK24MMdo7OxvyUlswizAN2AGSbevCLaTVkvsy iXbK4jXgvHyTK26EqNeZ6rCTx1htT4Jk/tsx3Hicg+rbX4JuaUUNRJXkVWLc4haO yJSSleqXjddEiH+UwH9LvNS2fZg99sv8tj/Ad+UHpmWedPMZFOvNGg==tC1k -----END PGP SIGNATURE-----