Re: LMTP "Relative home directory paths not supported"
On 11/20/17 6:33 AM, Aki Tuomi wrote: On 20.11.2017 16:20, Jeff Kletsky wrote: On 11/20/17 6:15 AM, Aki Tuomi wrote: On 20.11.2017 16:12, Jeff Kletsky wrote: I'm in the process of moving from LDA to LMTP (Postfix upstream) prior to a transition off `nix accounts to virtual accounts and am stumped by LMTP reporting dovecot: lmtp(10019, j...@example.com): Error: Relative home directory paths not supported: 0 [...] mail_location = maildir:~/Maildir:LAYOUT=fs # mail_location = maildir:%h/Maildir:LAYOUT=fs Thanks! Jeff That seems like lmtp is not doing variable expansion for user settings. What version of dovecot are you running? Aki $ sudo jexec mail dovecot --version 2.2.32 (dfbe293d4) Jeff I tried to repeat this issue locally, and was not able to. Can you provide full output of doveconf -n and doveadm user j...@example.com with both %h and ~/ Aki Found that I had two sets of passdb and userdb entries due to one from local.conf and and another from conf.d/10-auth.conf including auth-system.conf.ext -- unfortunately that wasn't the source of the problems. Turning on auth_debug=yes in local.conf and enabling LOG_DEBUG level output shows that, in contrast to the "working" configuration, it looks like my passwd-file configuration is returning "home=0" -- consistent with "Error: Relative home directory paths not supported: 0" auth: Debug: passwd-file(jeff,n.n.n.n,): lookup: user=jeff file=/usr/local/etc/dovecot/users auth: Debug: client passdb out: OK 1 user=jeff User &:/home/jeff:/usr/sbin/nologin dovecot: auth: Debug: passwd-file(jeff,n.n.n.n,): lookup: user=jeff file=/usr/local/etc/dovecot/users dovecot: auth: Debug: master userdb out: USER 1234567890 jeff uid=x gid=x home=0 auth_token=verylongauthtoken These were the clues needed -- While https://wiki2.dovecot.org/AuthDatabase/PasswdFile talked about using a FreeBSD master.passwd file as a passdb, it neglected to state that the Linux format and FreeBSD format are different. Linux -- user:password:uid:gid:(gecos):home:(shell):extra_fields FreeBSD -- name:password:uid:gid:class:change:expire:gecos:home_dir:shell --^ Login will succeed, but the home variable will be populated with the FreeBSD "change" which is often 0 Wiki page updated with details on how to use FreeBSD /etc/master.passwd extracts with passwd-file Jeff
Re: LMTP "Relative home directory paths not supported"
On 20.11.2017 16:20, Jeff Kletsky wrote: > On 11/20/17 6:15 AM, Aki Tuomi wrote: >> >> On 20.11.2017 16:12, Jeff Kletsky wrote: >>> I'm in the process of moving from LDA to LMTP (Postfix upstream) prior >>> to a transition off `nix accounts to virtual accounts and am stumped >>> by LMTP reporting >>> >>> dovecot: lmtp(10019, j...@example.com): Error: Relative home >>> directory paths not supported: 0 >>> >>> LDA does /not /have any problems with PAM or passwd-file passdb/userdb >>> and the ubiquitous definition of >>> >>> mail_location = maildir:~/Maildir:LAYOUT=fs >>> >>> I have yet to be able to get LMTP to deliver mail, nor have I found >>> anything on the Dovecot wiki to describe how to represent that the >>> mail_location is /Maildir >>> >>> I'd prefer to localize the user-to-file-space mapping localized to >>> Dovecot (rather than split within Postfix and Dovecot) >>> >>> I'd definitely appreciate any pointers to web pages or specific >>> suggestions as to how to resolve this. >>> >>> Excerpts of Dovecot local.conf follow, full doveconf -n output on >>> request. The/users /file is in the same format as FreeBSD >>> /etc/master.passwd with name, password, UID, gid, home_dir, and shell >>> meaningfully populated. The configuration below works with LDA >>> (end-to-end). With LMTP, it identifies as a valid >>> destination, but fails on delivery with the "relative home directory >>> paths" error message. >>> >>> passdb { >>> driver = passwd-file >>> args = /path/to/users >>> } >>> userdb { >>> driver = passwd-file >>> args = username_format=%n /path/to/users >>> } >>> >>> # See http://wiki2.dovecot.org/MailLocation/Maildir >>> # https://wiki.dovecot.org/VirtualUsers/Home >>> >>> mail_location = maildir:~/Maildir:LAYOUT=fs >>> # mail_location = maildir:%h/Maildir:LAYOUT=fs >>> >>> >>> >>> Thanks! >>> >>> Jeff >> That seems like lmtp is not doing variable expansion for user settings. >> What version of dovecot are you running? >> >> Aki >> > $ sudo jexec mail dovecot --version > 2.2.32 (dfbe293d4) > > Jeff I tried to repeat this issue locally, and was not able to. Can you provide full output of doveconf -n and doveadm user j...@example.com with both %h and ~/ Aki
Re: LMTP "Relative home directory paths not supported"
On 11/20/17 6:15 AM, Aki Tuomi wrote: On 20.11.2017 16:12, Jeff Kletsky wrote: I'm in the process of moving from LDA to LMTP (Postfix upstream) prior to a transition off `nix accounts to virtual accounts and am stumped by LMTP reporting dovecot: lmtp(10019, j...@example.com): Error: Relative home directory paths not supported: 0 LDA does /not /have any problems with PAM or passwd-file passdb/userdb and the ubiquitous definition of mail_location = maildir:~/Maildir:LAYOUT=fs I have yet to be able to get LMTP to deliver mail, nor have I found anything on the Dovecot wiki to describe how to represent that the mail_location is /Maildir I'd prefer to localize the user-to-file-space mapping localized to Dovecot (rather than split within Postfix and Dovecot) I'd definitely appreciate any pointers to web pages or specific suggestions as to how to resolve this. Excerpts of Dovecot local.conf follow, full doveconf -n output on request. The/users /file is in the same format as FreeBSD /etc/master.passwd with name, password, UID, gid, home_dir, and shell meaningfully populated. The configuration below works with LDA (end-to-end). With LMTP, it identifies as a valid destination, but fails on delivery with the "relative home directory paths" error message. passdb { driver = passwd-file args = /path/to/users } userdb { driver = passwd-file args = username_format=%n /path/to/users } # See http://wiki2.dovecot.org/MailLocation/Maildir # https://wiki.dovecot.org/VirtualUsers/Home mail_location = maildir:~/Maildir:LAYOUT=fs # mail_location = maildir:%h/Maildir:LAYOUT=fs Thanks! Jeff That seems like lmtp is not doing variable expansion for user settings. What version of dovecot are you running? Aki $ sudo jexec mail dovecot --version 2.2.32 (dfbe293d4) Jeff
Re: LMTP "Relative home directory paths not supported"
On 20.11.2017 16:12, Jeff Kletsky wrote: > I'm in the process of moving from LDA to LMTP (Postfix upstream) prior > to a transition off `nix accounts to virtual accounts and am stumped > by LMTP reporting > > dovecot: lmtp(10019, j...@example.com): Error: Relative home > directory paths not supported: 0 > > LDA does /not /have any problems with PAM or passwd-file passdb/userdb > and the ubiquitous definition of > > mail_location = maildir:~/Maildir:LAYOUT=fs > > I have yet to be able to get LMTP to deliver mail, nor have I found > anything on the Dovecot wiki to describe how to represent that the > mail_location is /Maildir > > I'd prefer to localize the user-to-file-space mapping localized to > Dovecot (rather than split within Postfix and Dovecot) > > I'd definitely appreciate any pointers to web pages or specific > suggestions as to how to resolve this. > > Excerpts of Dovecot local.conf follow, full doveconf -n output on > request. The/users /file is in the same format as FreeBSD > /etc/master.passwd with name, password, UID, gid, home_dir, and shell > meaningfully populated. The configuration below works with LDA > (end-to-end). With LMTP, it identifies as a valid > destination, but fails on delivery with the "relative home directory > paths" error message. > > passdb { > driver = passwd-file > args = /path/to/users > } > userdb { > driver = passwd-file > args = username_format=%n /path/to/users > } > > # See http://wiki2.dovecot.org/MailLocation/Maildir > # https://wiki.dovecot.org/VirtualUsers/Home > > mail_location = maildir:~/Maildir:LAYOUT=fs > # mail_location = maildir:%h/Maildir:LAYOUT=fs > > > > Thanks! > > Jeff That seems like lmtp is not doing variable expansion for user settings. What version of dovecot are you running? Aki
LMTP "Relative home directory paths not supported"
I'm in the process of moving from LDA to LMTP (Postfix upstream) prior to a transition off `nix accounts to virtual accounts and am stumped by LMTP reporting dovecot: lmtp(10019, j...@example.com): Error: Relative home directory paths not supported: 0 LDA does /not /have any problems with PAM or passwd-file passdb/userdb and the ubiquitous definition of mail_location = maildir:~/Maildir:LAYOUT=fs I have yet to be able to get LMTP to deliver mail, nor have I found anything on the Dovecot wiki to describe how to represent that the mail_location is /Maildir I'd prefer to localize the user-to-file-space mapping localized to Dovecot (rather than split within Postfix and Dovecot) I'd definitely appreciate any pointers to web pages or specific suggestions as to how to resolve this. Excerpts of Dovecot local.conf follow, full doveconf -n output on request. The/users /file is in the same format as FreeBSD /etc/master.passwd with name, password, UID, gid, home_dir, and shell meaningfully populated. The configuration below works with LDA (end-to-end). With LMTP, it identifies as a valid destination, but fails on delivery with the "relative home directory paths" error message. passdb { driver = passwd-file args = /path/to/users } userdb { driver = passwd-file args = username_format=%n /path/to/users } # See http://wiki2.dovecot.org/MailLocation/Maildir # https://wiki.dovecot.org/VirtualUsers/Home mail_location = maildir:~/Maildir:LAYOUT=fs # mail_location = maildir:%h/Maildir:LAYOUT=fs Thanks! Jeff