[CentOS] exim PAM authentication: all users unknown

Thu Mar 22 16:23:28 UTC 2018
hw <hw at gc-24.de>

Hi,

how come that exim can not authenticate users using PAM?


======================

PLAIN:
  driver                     = plaintext
  server_set_id              = $auth2
  server_prompts             = :
  server_condition           = ${if pam{$auth2:$auth3}{yes}{no}}
  server_advertise_condition = ${if def:tls_cipher }
  server_debug_print = "auth: $1 $2 $3"

======================

  2969 SMTP<< AUTH PLAIN AGp2AGdsdWViaXJk
  2969 PLAIN authenticator server_condition:
  2969   $auth1 =
  2969   $auth2 = user
  2969   $auth3 = password
  2969   $1 =
  2969   $2 = user
  2969   $3 = password
  2969 auth:  user password
  2969 Running PAM authentication for user "user"
  2969 PAM error: Authentication failure
  2969 expanded string: no
  2969 SMTP>> 535 Incorrect authentication data

========================

unix_chkpwd[2928]: check pass; user unknown
unix_chkpwd[2928]: password check failed for user (user)
exim: pam_unix(exim:auth): authentication failure; logname= uid=93 
euid=93 tty= ruser= rhost=  user=user

=========================


It works just fine on the old server but not on the new one.  I have 
verified that the user which is considered as unknown can log in to the 
console just fine, and I tried multiple users.

I have found a bug report[1] which suggests that the authentication 
fails because exim uses its own user-ID to do the authentication.  Yet 
the bug has probably been fixed.


[1]: https://bugzilla.redhat.com/show_bug.cgi?id=449256