Я получаю unknown password verifier(s) auxprop
ошибка при попытке использовать SQLite для аутентификации SASL в Postfix на CentOS 7. Кажется, что механизм SQLite SQL не найден.
Содержание /etc/sasl2/smtp.conf
:
log_level: 127
pwcheck_method: auxprop
auxprop_plugin: sql
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM
sql_engine: sqlite
sql_database: /etc/postfix/sasl_db
sql_select: SELECT password FROM users WHERE user = '%u'
Подключение задокументировано в /var/log/maillog
:
Jul 25 08:55:43 smtp2 postfix/smtpd[5049]: connect a.b.c.d.myisp.net[a.b.c.d]
Jul 25 08:55:45 smtp2 postfix/smtpd[5049]: warning: SASL authentication problem: unknown password verifier(s) auxprop
Jul 25 08:55:45 smtp2 postfix/smtpd[5049]: warning: SASL authentication failure: Password verification failed
Jul 25 08:55:45 smtp2 postfix/smtpd[5049]: warning: a.b.c.d.myisp.net[a.b.c.d]: SASL PLAIN authentication failed: no mechanism available
Jul 25 08:55:46 smtp2 postfix/smtpd[5049]: warning: SASL authentication problem: unknown password verifier(s) auxprop
Jul 25 08:55:46 smtp2 postfix/smtpd[5049]: warning: a.b.c.d.myisp.net[a.b.c.d]: SASL LOGIN authentication failed: no mechanism available
Jul 25 08:55:51 smtp2 postfix/smtpd[5049]: disconnect from a.b.c.d.myisp.net[a.b.c.d]
Есть намек в /var/log/messages
:
Jul 25 08:55:38 smtp2 systemd: Starting Postfix Mail Transport Agent...
Jul 25 08:55:38 smtp2 systemd: Started Postfix Mail Transport Agent.
Jul 25 08:55:43 smtp2 postfix/smtpd[5049]: SQL engine 'sqlite' not supported
Jul 25 08:55:43 smtp2 postfix/smtpd[5049]: auxpropfunc error no mechanism available
Я пробовал заменить sqlite
с участием sqlite3
(и перезапуск Postfix), результат тот же.
На данный момент я предполагаю, что мне не хватает числа оборотов в минуту, но я не могу определить, что это может быть.
smtp2:/# rpm --query -a | grep -ie sqlite -ie sasl -ie postfix
cyrus-sasl-sql-2.1.26-23.el7.x86_64
cyrus-sasl-md5-2.1.26-23.el7.x86_64
sqlite-3.7.17-8.el7_7.1.x86_64
cyrus-sasl-lib-2.1.26-23.el7.x86_64
postfix-2.10.1-9.el7.x86_64
cyrus-sasl-2.1.26-23.el7.x86_64
libsqlite3x-20071018-20.el7.x86_64
cyrus-sasl-plain-2.1.26-23.el7.x86_64
smtp2:/# cat /etc/centos-release
CentOS Linux release 7.8.2003 (Core)
Мне не хватает необходимого числа оборотов в минуту или, в более общем плане, как исправить эту ошибку?
После небольшого поиска кажется, что поддержка SQLite не включена в версии SASL для CentOS и не может быть добавлена через модуль / плагин.
Я думаю, что прямая поддержка SQLite потребует перестройки SASL. Лучшим решением может быть использование saslauthd
и получить доступ к SQLite через PAM, т.е. что-то вроде этого в /etc/pam.d/smtp
:
#%PAM-1.0
auth required pam_sqlite3.so
account required pam_sqlite3.so
Надеюсь, это также поможет кому-то другому.