Hello list today I built dovecot 2.2.1 from sources. But I have permission problems with LDA The "normal" imap part works fine, users can login and see their boxes. deliver is called as LDA from postfix master.cf as follows << dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/local/libexec/dovecot/deliver -f ${sender} -d ${user}@${nexthop} >> but when I try to send a testmail then I get the following in the logs << 2013 May 6 18:37:59 nordkap lda: Fatal: Internal error occurred. Refer to server log for more information. May 6 18:37:59 nordkap dovecot: lda: Error: userdb lookup: connect(/var/run/dovecot/auth-userdb) failed: Connection refused May 6 18:37:59 nordkap dovecot: lda: Fatal: Internal error occurred. Refer to server log for more information. >> For me it looks odd because the auth-userdb is defined as << base_dir = /usr/local/var/run/dovecot/ service auth { unix_listener auth-userdb { mode = 0777 user = vmail group = vmail } .... >> The rights on the file should be correct according to the config above << ls -al /usr/local/var/run/dovecot/auth-userdb srwxrwxrwx 1 vmail vmail 0 May 6 20:11 /usr/local/var/run/dovecot/auth-userdb >> I cannot explain why the lda tries to access << Error: userdb lookup: connect(/var/run/dovecot/auth-userdb) >> I grepped through all the configfiles but could not find the "wrong" path from the error message above. Would it might be a "fix" to symlink /usr/local/var/run/dovecot to /var/run/dovecot ? Or would that break something with dovecot? Thanks for any hint or idea tobi
On Mon, 2013-05-06 at 20:24 +0200, Tobi wrote:> Hello list > > today I built dovecot 2.2.1 from sources. But I have permission problems > with LDA > The "normal" imap part works fine, users can login and see their boxes. > deliver is called as LDA from postfix master.cf as follows > << > dovecot unix - n n - - pipe > flags=DRhu user=vmail:vmail argv=/usr/local/libexec/dovecot/deliver -f > ${sender} -d ${user}@${nexthop}I'd change deliver to dovecot-lda , at present IIRC its a symlink, so it might "go away" one day, otherwise, that's fine.> May 6 18:37:59 nordkap dovecot: lda: Error: userdb lookup: > connect(/var/run/dovecot/auth-userdb) failed: Connection refused> > For me it looks odd because the auth-userdb is defined as > << > base_dir = /usr/local/var/run/dovecot/ > service auth { > unix_listener auth-userdb { > mode = 0777 > user = vmail > group = vmail > }777? it should be 0600, however, the problem might be easier to tell with output of dovecot -n -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 490 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20130507/175e7628/attachment-0001.bin>
At 8PM +0200 on 6/05/13 Tobi wrote:> > << > 2013 May 6 18:37:59 nordkap lda: Fatal: Internal error occurred. Refer > to server log for more information. > May 6 18:37:59 nordkap dovecot: lda: Error: userdb lookup: > connect(/var/run/dovecot/auth-userdb) failed: Connection refused > May 6 18:37:59 nordkap dovecot: lda: Fatal: Internal error occurred. > Refer to server log for more information. > >> > > For me it looks odd because the auth-userdb is defined as > << > base_dir = /usr/local/var/run/dovecot/Why are you trying to put this under /usr/local? /usr/local/var is not a usual place to put things on Unix systems: generally speaking programs installed under /usr/local use /var just like those installed under /usr.> service auth { > unix_listener auth-userdb { > mode = 0777This probably shouldn't be world-readable.> user = vmail > group = vmail > } > .... > >> > > The rights on the file should be correct according to the config above > << > ls -al /usr/local/var/run/dovecot/auth-userdb > srwxrwxrwx 1 vmail vmail 0 May 6 20:11 > /usr/local/var/run/dovecot/auth-userdb > >> > > I cannot explain why the lda tries to access > << > Error: userdb lookup: connect(/var/run/dovecot/auth-userdb) > >> > I grepped through all the configfiles but could not find the "wrong" > path from the error message above.Probably your Dovecot binaries are built with a default base_dir of /var/run/dovecot. What do the following give you? doveconf -d base_dir (as root) doveconf base_dir (as root) doveconf base_dir (as vmail:vmail)> Would it might be a "fix" to symlink /usr/local/var/run/dovecot to > /var/run/dovecot ? Or would that break something with dovecot?It probably won't break anything, but why don't you just use /var/run/dovecot in the first place and take that base_dir definition out of dovecot.conf? Ben