[Dovecot] 2.0.5 masteruser problem with uncached users

Ralf Hildebrandt
Fri, 08 Oct 2010 13:38:18 -0000

a "masteruser" login fails:

Oct  8 15:12:54 postamt dovecot: auth: Debug:
auth(masteruser,141.42.206.38,master): Master user lookup for login:
nonworkinguser
Oct  8 15:12:54 postamt dovecot: auth: passdb(masteruser,141.42.206.38,master):
Master user logging in as nonworkinguser
Oct  8 15:12:54 postamt dovecot: auth: Debug:
cache(nonworkinguser,141.42.206.38): expired
Oct  8 15:12:54 postamt dovecot: auth: Debug: pam(nonworkinguser,141.42.206.38):
lookup service=dovecot
Oct  8 15:12:54 postamt dovecot: auth: Debug: pam(nonworkinguser,141.42.206.38):
#1/1 style=1 msg=Password:
Oct  8 15:12:56 postamt dovecot: auth: pam(nonworkinguser,141.42.206.38):
pam_authenticate() failed: Authentication failure (password mismatch?) (given
password: correct_masteruserpassword)
Oct  8 15:12:58 postamt dovecot: auth: Debug: client out:
FAIL^I48226^Iuser=nonworkinguser^Iauthz
Oct  8 15:12:58 postamt dovecot: imap-login: Disconnected (auth failed, 1
attempts): user=<nonworkinguser>, method=PLAIN, rip=141.42.206.38,
lip=141.42.206.36, mpid=0

but with the same setup, a masteruser for another user succeeded:

Oct  8 13:44:31 postamt dovecot: auth: Debug: auth(masteruser,127.0.0.1,master):
Master user lookup for login: workinguser
Oct  8 13:44:31 postamt dovecot: auth: passdb(masteruser,127.0.0.1,master):
Master user logging in as workinguser
Oct  8 13:44:31 postamt dovecot: auth: Debug: cache(workinguser,127.0.0.1): hit:
{SHA1}fJcDCzIZnqwatTFXqU/Vgf5kwlo=^Iuser=workinguser^Iuser=workinguser
Oct  8 13:44:31 postamt dovecot: auth: Debug: client out:
OK^I3685^Iuser=workinguser
Oct  8 13:44:32 postamt dovecot: auth: Debug: master out:
USER^I1^Iworkinguser^Isystem_groups_user=workinguser^Iuid=47077^Igid=100^Ihome=/home/d/w/workinguser^Imaster_user=masteruser
Oct  8 13:44:32 postamt dovecot: imap-login: Login: user=<workinguser>,
method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=28224, secured

So why does the masteruser login for an UNCACHED user fail?

auth_debug = yes
auth_debug_passwords = yes
auth_mechanisms = plain login
disable_plaintext_auth = no
auth_master_user_separator = *

# fuer user*masteruser logins
passdb {
  args = /usr/dovecot-2/etc/dovecot/dovecot.masteruser
  driver = passwd-file
  master = yes
  pass = yes
}

# Authorisierung via PAM, /etc/pam.d/dovecot
auth_cache_size = 64 M
passdb {
  driver = pam
  args = cache_key=%u
}

# User via passwd
  userdb {
  driver = passwd
}

--
Ralf Hildebrandt
  Gesch?ftsbereich IT | Abteilung Netzwerk
  Charit? - Universit?tsmedizin Berlin
  Campus Benjamin Franklin
  Hindenburgdamm 30 | D-12203 Berlin
  Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962
  ralf.hildebrandt at charite.de | http://www.charite.de