Имеется нормально функционирующий постфикс, база которго хранится в mysql. Была поставлена задача, прикутить к smtp авторизацию через cyrus-sasl.
Добавил в конфиги:
/etc/postfix/main.cf
## Sasl authentification
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, permit_auth_destination, reject_unauth_destination,
reject_unknown_sender_domain,
reject_rbl_client list.dsbl.org,
reject_rbl_client relays.ordb.org,
reject_rbl_client dynablock.wirehub.net,
reject_rbl_client blackholes.wirehub.net,
reject_rbl_client dnsbl.njabl.org
permit_mx_backup,
check_relay_domains
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sender_restrictions = permit_sasl_authenticated
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
smtpd_sasl_application_name = smtpd
smtpd_sasl_path = smtpd
/usr/lib/sasl2/smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sql
mech_list: plain login
sql_engine: mysql
sql_hostnames: localhost
sql_user: postfix
sql_passwd: *******
sql_database: postfix
sql_select: select password from mailbox where username='%u'
Перезапускаю - авторизация не проходит. Смотрю логи.
В логах Mysql вижу такой запрос:
select password from mailbox where username='user.ru'
(при том, что реальный юзернейм при авторизации был user@company.ru)
меняю последнюю строку на:
sql_select: select password from mailbox where username='%u@%r'
получаю:
select password from mailbox where username='user.ru@hostname.company.ru'
Далее для теста в конфиге жестко прописываю имя пользователя:
sql_select: select password from mailbox where username='user@company.ru'
Авторизация проходит (только для юзера user@company.ru естественно).
Может кто сталкивался с таким багом и может подсказать как его побороть! Заранее огромное спасибо.
postfix-mysql-smtpd-cyrus-sasl неправильный параметр
Модераторы: SLEDopit, Модераторы разделов
-
- Сообщения: 5
- ОС: Gentoo Linux