This documentation is for Dovecot v2.x, see wiki1 for v1.x documentation.
Differences between revisions 9 and 10
Revision 9 as of 2007-03-18 19:33:59
Size: 871
Editor: TimoSirainen
Comment:
Revision 10 as of 2007-07-22 08:04:15
Size: 1439
Editor: TimoSirainen
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from MultipleAuth
Line 4: Line 3:
Dovecot supports defining multiple authentication databases, so that if the password doesn't match in the first database, it checks the next one. This can be useful if you want to easily support having both local system users in /etc/passwd and virtual users. Dovecot supports defining multiple authentication databases, so that if the password doesn't match in the first database, it checks the next one. This can be useful if you want to easily support having both local system users in {{{/etc/passwd}}} and virtual users.
Line 8: Line 7:
This can be configured in the following way: Often you also want different mail location for system and virtual users. The best way to do this would be to always have mails stored under home directory ({{{mail_location = ~/Maildir}}}), but if this isn't possible you can do this by pointing [:MailLocation:mail_location] to system users' mail location and have the virtual userdb override it by returning {{{mail}}} [:UserDatabase/ExtraFields:extra field].

== Example ==

dovecot.conf:
Line 31: Line 34:

dovecot-sql.conf:

{{{
password_query = SELECT userid as user, password FROM users WHERE userid = '%u'
user_query = SELECT uid, gid, '/var/vmail/%u' as mail FROM users WHERE userid = '%u'
}}}

Multiple Authentication Databases

Dovecot supports defining multiple authentication databases, so that if the password doesn't match in the first database, it checks the next one. This can be useful if you want to easily support having both local system users in /etc/passwd and virtual users.

Currently the fallbacking works only with PLAIN authentication mechanism.

Often you also want different mail location for system and virtual users. The best way to do this would be to always have mails stored under home directory (mail_location = ~/Maildir), but if this isn't possible you can do this by pointing [:MailLocation:mail_location] to system users' mail location and have the virtual userdb override it by returning mail [:UserDatabase/ExtraFields:extra field].

Example

dovecot.conf:

auth default {
  mechanisms = plain

  # try to authenticate using SQL database first
  passdb sql {
    args = /etc/dovecot-sql.conf
  }
  # fallback to PAM
  passdb pam {
  }

  # look up users from SQL first (even if authentication was done using PAM!)
  userdb sql {
    args = /etc/dovecot-sql.conf
  }
  # if not found, fallback to /etc/passwd
  userdb passwd {
  }
}

dovecot-sql.conf:

password_query = SELECT userid as user, password FROM users WHERE userid = '%u'
user_query = SELECT uid, gid, '/var/vmail/%u' as mail FROM users WHERE userid = '%u'

None: Authentication/MultipleDatabases (last edited 2019-09-11 14:00:18 by MichaelSlusarz)