It seems to me that you have
passdb {
? args = /etc/dovecot/local_sql_users.conf
? driver = sql
}
but you don't have
userdb {
? args = /etc/dovecot/local_sql_users.conf
? driver = sql
}
Regards,
Ivo.
On 22.5.2020. 19:18, Laura Smith wrote:> Hi,
>
> Long story short I've got a fully functional Dovecot IMAP instance and
I am now looking to upgrade some perimiter authenticated SMTP relays to
authenticate against the Dovecot instance.
>
> Trouble is that I am seeing errors such as "auth: Warning: sql:
Ignoring changed user_query in /etc/dovecot/local_sql_users.conf, because userdb
sql not used." in my Postfix server logs and not able to successfully
authenticate via AUTH LOGIN on the Postfi instance.
>
> Perhaps I'm missing something obvious from my config ? Here is the
doveconf -n from the Postfix server in question:
>
> # 2.3.10.1 (a3d0e1171): /etc/dovecot/dovecot.conf
> # OS: Linux 4.19.0-9-amd64 x86_64 Debian 10.4
> # Hostname: foobar.example.com
> auth_mechanisms = plain login
> auth_verbose = yes
> auth_verbose_passwords = sha1:7
> disable_plaintext_auth = no
> mail_location = mbox:~/mail:INBOX=/var/mail/%u
> namespace inbox {
> ? inbox = yes
> ? location > ? mailbox Drafts {
> ??? special_use = \Drafts
> ? }
> ? mailbox Junk {
> ??? special_use = \Junk
> ? }
> ? mailbox Sent {
> ??? special_use = \Sent
> ? }
> ? mailbox "Sent Messages" {
> ??? special_use = \Sent
> ? }
> ? mailbox Trash {
> ??? special_use = \Trash
> ? }
> ? prefix > }
> passdb {
> ? args = /etc/dovecot/local_sql_users.conf
> ? driver = sql
> }
> service auth {
> ? inet_listener {
> ??? address = 127.0.0.1
> ??? port = 7425
> ? }
> ? inet_listener {
> ??? address = ::1
> ??? port = 7425
> ? }
> ? unix_listener /var/spool/postfix-authrelay/private/dovecot-auth {
> ??? group = postfix
> ??? mode = 0660
> ??? user = postfix
> ? }
> }
> ssl = no
>
> The local_sql_users.conf is the same one that's used on the functioning
IMAP servers, just copied accross to the authenticated relay server:
>
> $ sudo cat /etc/dovecot/local_sql_users.conf
> driver = pgsql
> connect = host=foo dbname=bar user=secret password=squirrel
> default_pass_scheme = ARGON2ID
> password_query = select dovecot_username as user,password from
get_user('%u')
> user_query = select 'vmail' as uid, 'vmail' as gid
> iterate_query = select dovecot_username as user from get_users()
>