[Dovecot] best choice of user database file to work with postfix?

Rainer Frey rainer.frey at inxmail.de
Fri Apr 23 09:49:43 EEST 2010


On Thursday 22 April 2010 18:15:18 Phil Howard wrote:
[ ... all standard stuff that is well documented ... ]

> 5.  Passwords stored encrypted, such as MD5.  And it should be a scheme
> that both Postfix and Dovecot can use so I don't have keep two different
> encryption schemes.

Postfix doesn't need any password directly. It only authenticates a user with 
a password in one case: SMTP SASL authentication of submission users, and it 
uses the dovecot auth service for that and does not read the password database 
itself.

> 6. I'd prefer not to, but it looks like I will have to copy data from one
> format to another format so Dovecot can read it and Postfix can read it.  I
> will most likely be using the CDB format (the constant database file format
> from Dan Bernstein ... which I'd think should be easy enough for a future
> version of Dovecot to support).

It is not about supporting a certain database library. There is simply a 
difference in what Dovecot and Postfix need from a user/recipient database. 
Dovecot needs information like path to mailbox, uid/gid with which to put 
files into the mailboxes, extra configuration fields ... Therefore it uses a 
structured  multi-value format like the passwd-file. CDB or similar don't work 
like this, so dovecot can't easily support using the same CDB files as 
postfix.

Postfix only supports name:value tables, either to use the value (table-style 
lookup) or to check whether there is an entry for a name (list-style lookup). 
Therefore it only uses file databases with such a mapping. In the case of 
valid recipients which will be handed off to dovecot for delivery, it is such 
a simple list lookup.

(If it interests you: the postfix virtual delivery agent needs very similar 
information to dovecot, but it uses several key:value maps for the different 
information, all with the recipient as key.)

> 7.  I am wondering if I can trick Postfix into reading virtual user info by
> running it chrooted where I substitute /etc/passwd and /etc/shadow with
> stuff I generate from Dovecot files.

If you need to generate the files that postfix uses, you can generate 
supported lookup table formats as well.

Rainer


More information about the dovecot mailing list