"SQL Engine 'MySQL не поддерживается" с saslauth
У меня проблемы с аутентификацией входящей SMTP-аутентификации на моем постфиксном сервере (с использованием Cyrus SASL с бэкэндом MySQL).
В моем auth.log я получаю:
postfix/smtpd[3389]: sql auxprop plugin using mysql engine
postfix/smtpd[3389]: SQL engine 'mysql' not supported
postfix/smtpd[3389]: auxpropfunc error no mechanism available
postfix/smtpd[3389]: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sqlite
postfix/smtpd[3389]: sql plugin Parse the username <email>
postfix/smtpd[3389]: sql plugin try and connect to a host
postfix/smtpd[3389]: sql plugin trying to open db 'postfix' on host 'localhost'
И мой /etc/postfix/sasl/smtpd.conf выглядит так:
pwcheck_method: saslauthd
mech_list: plain login cram-md5 digest-md5
log_level: 7
allow_plaintext: true
auxprop_plugin: sql
sql_engine: mysql
sql_hostnames: localhost
sql_user: -removed-
sql_passwd: -removed-
sql_database: postfix
sql_select: select password from mailbox where username = '%u@%r'
По сути, я понимаю, что он говорит, что он не может найти модуль проверки подлинности MySQL, однако я установил оба libsasl2-modules-sql
а также postfix-mysql
, Что мне не хватает?
2 ответа
Если у вас Ubuntu 12.04, ваша проблема выглядит так:
https://bugs.launchpad.net/ubuntu/+source/cyrus-sasl2/+bug/875440
Лучшим вариантом для меня было понизить пакет libsqlite0 db4.8-util libssl0.9.8 до версии 2.1.23.
cheeers.
Вы, вероятно, должны использовать: pwcheck_method: auxprop
Я говорю, вероятно, потому что есть много путаницы в настройке Cyrus-SASL. В руководствах говорится, что saslauthd предназначен только для PLAIN и LOGIN, но есть доказательства обратного!
Вы проверили наличие плагина sql? Некоторые дистрибутивы (например, Fedora) не устанавливают плагины по умолчанию. Вам нужно что-то вроде: /use/lib/sasl2/libsql.so
Также знайте, что, если ваши имена пользователей клиента не имеют форму user @ realm или realm получен из вашего smtp по умолчанию и не указан клиентом, и, возможно, параметр -r не был предоставлен saslauthd (см. Страницу man и выясните как -r передается при запуске saslauthd), тогда область не будет передана в% r в вашем выборе swl! Вы можете проверить правильность передачи% r или нет, выгрузив выделенный текст, когда он прибудет на ваш сервер MySQL.
Добро пожаловать в ад настройки электронной почты;-) Надеюсь, это поможет.