[Dovecot] Multiple authentication databases

Alexander Shikoff minotaur at crete.org.ua
Fri Sep 23 15:22:06 EEST 2005


> (as was described at http://wiki.dovecot.org/moin.cgi/MultipleAuth)
> auth_debug = yes
> auth_verbose = yes
> auth default {
>         mechanisms = plain
>         user = root
>         passdb sql {
>                 args = /usr/local/dovecot/etc/dovecot-mysql.conf
>         }
>         passdb pam {
>                 args = pop3
>         }
>         userdb sql {
>                 args = /usr/local/dovecot/etc/dovecot-mysql.conf
>         }
>         userdb passwd {
>         }
> }
> 
> If user is virtual and placed in SQL database all works perfectly.
> But system users can not login:
> Sep 23 12:27:58 orion dovecot: auth(default): client in: AUTH   1       PLAIN   service=POP3    lip=192.168.5.23     rip=192.168.3.2 resp=AGRtaXRyeQBtb240bHVjY2tpdDQ=
> Sep 23 12:27:58 orion dovecot: auth-worker(default): sql(user,192.168.3.2): query: SELECT `password` FROM `users` WHERE login = 'user'
> Sep 23 12:27:58 orion dovecot: auth-worker(default): sql(user,192.168.3.2): unknown user
> Sep 23 12:27:58 orion dovecot: auth(default): client out: OK    1       user=user
> Sep 23 12:27:58 orion dovecot: auth(default): master in: REQUEST        19      50448   1
> Sep 23 12:27:58 orion dovecot: auth-worker(default): sql(user,192.168.3.2): SELECT "mbox:/var/mail/virtual//user:INBOX=/var/mail/virtual//user:INDEX=MEMORY" AS `mail`, 101 AS `uid`, 101 AS `gid` FROM users WHERE login = 'user'
> Sep 23 12:27:58 orion dovecot: auth-worker(default): sql(user,192.168.3.2): User not found
> Sep 23 12:27:58 orion dovecot: pop3-login: Internal login failure: user=<user>, method=PLAIN, rip=192.168.3.2, lip=192.168.5.23
> Sep 23 12:27:58 orion dovecot: child 50447 (auth) killed with signal 11
> Sep 23 12:27:58 orion dovecot: auth-worker(default): mysql: Connected to 127.0.0.1 (exim)

It seems to be a bug. This issue dissapears if change the order of auth. databases 
in dovecot.conf:
auth default {
        mechanisms = plain
        user = root
        passdb pam {
                args = pop3
        }
        passdb sql {
                args = /usr/local/dovecot/etc/dovecot-mysql.conf
        }
        userdb passwd {
        }
        userdb sql {
                args = /usr/local/dovecot/etc/dovecot-mysql.conf
        }
}

-- 
Kind Regards,	Alexander Shikoff
minotaur at crete.org.ua
Mob.: +380 67 946 31 49



More information about the dovecot mailing list