I was able to solve this by specifying userdb use the passwd-file in addition
to passdb using bsdauth:
userdb {
args = username_format=%u /etc/passwd
default_fields = quota_rule=*:storage=1G
driver = passwd-file
}
This is combined with:
passdb {
driver = bsdauth
}
This may be an ugly solution but it does seem to work and only requires me
maintain a single passwd file.
--
Aaron Lin
[email protected]
IRCNow (https://ircnow.org)
On Mon, Aug 04, 2025 at 07:32:55PM -0700, [email protected] wrote:
> I am now trying to use bsdauth instead of passwd-file:
>
> passdb {
> driver = bsdauth
> }
>
> When I attempt to login via IMAP, dovecot reports this error:
>
> Aug 4 19:19:43 jrmu dovecot: imap(77561): Error: Couldn't drop privileges:
> User is missing UID (see mail_uid setting)
>
> Below is the output of dovecot -n:
>
> # dovecot -n
> # 2.3.21.1 (d492236fa0): /etc/dovecot/dovecot.conf
> # OS: OpenBSD 7.7 amd64 ffs
> # Hostname: jrmu.host.nastycode.com
> auth_debug = yes
> auth_debug_passwords = yes
> auth_verbose = yes
> auth_verbose_passwords = sha1
> first_valid_uid = 1000
> listen = 104.167.242.227, 2602:fccf:1:2227::
> mail_debug = yes
> mail_location = maildir:/home/%u/Maildir
> mbox_write_locks = fcntl
> mmap_disable = yes
> 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 {
> driver = bsdauth
> }
> ssl_cert = </etc/ssl/jrmu.host.nastycode.com.crt
> ssl_key = # hidden, use -P to show it
> verbose_ssl = yes
>
> dovecot will properly drop privileges work if I hard code mail_uid and
> mail_gid:
>
> mail_uid = 1001
> mail_gid = 1001
>
> But shouldn't dovecot be allowed to drop to any user that logs in, and not get
> hard coded to a single uid?
>
> --
> Aaron Lin
> [email protected]
> IRCNow (https://ircnow.org)
>
> On Mon, Aug 04, 2025 at 07:50:54AM +0300, Aki Tuomi wrote:
> >
> > > On 04/08/2025 01:30 EEST jrmu--- via dovecot <[email protected]> wrote:
> > >
> > >
> > > Greetings Dovecot team/users,
> > >
> > > I am trying to use Dovecot to serve Maildir files. The users' email is
> > > located in ~/Maildir (in each user's home directory). I tried specifying
> > >
> > > mail_location = maildir:~/Maildir
> > >
> > > but I get this error:
> > >
> > > Aug 4 00:06:34 ch dovecot: imap(username): Error: Relative home
> > > directory paths not supported: 0
> > >
> > > Are relative home directory paths not supported?
> > >
> > > Here is the output of dovecot -n:
> > >
> > > # dovecot -n
> > > driver = passwd-file
> > > }
> > > verbose_ssl = yes
> > >
> > > 1375 bytes received in 0.00 seconds (5.18 MB/s)
> > >
> > > --
> > > Aaron Lin
> > > [email protected]
> > > IRCNow (https://ircnow.org)
> > > _______________________________________________
> > > dovecot mailing list -- [email protected]
> > > To unsubscribe send an email to [email protected]
> >
> >
> > Either add
> >
> > mail_home = /path/to/home/%u (or something like this)
> >
> > or your passwd-file needs to returns home directory.
> >
> > Aki
> >
> >
_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]