Я настроил Postfix для работы с SASL с использованием обычного текста, где первый автоматически отправляет второму область по умолчанию при запросе аутентификации.
Предполагая, что имя домена - example.com, а пользователь - foo, вот как я настроил его в своей системе Debian.
В файле конфигурации постфикса /etc/main.cf
:
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
Файл конфигурации SMTP /etc/postfix/smtpd.conf
содержит:
pwcheck_method: saslauthd
mech_list: PLAIN
Демон SASL настроен с помощью механизма sasldb в /etc/default/saslauthd
:
MECHANIMS="sasldb"
Файл базы данных SASL содержит одного пользователя, обозначенного sasldblistusers2
:
foo@example.com: userPassword
Аутентификация хорошо работает без необходимости предоставления области, поскольку postifx делает это для меня. Однако я не могу понять, как сказать демону Cyrus IMAP сделать то же самое.
Я создал пользователя cyrus
в моей базе данных SASL, которая использует область имени домена хоста, а не example.com
, для административных целей. Я использовал эту учетную запись для создания почтового ящика через cyradm
для пользователя foo
:
cm user.foo
IMAP настроен в /etc/imapd.conf
сюда:
allowplaintext: yes
sasl_minimum_layer: 0
sasl_pwcheck_method: saslauthd
sasl_mech_list: PLAIN
servername: mail.example.com
Если я включу межсферную аутентификацию (loginrealms: example.com
), пытаясь аутентифицироваться с помощью imtest
работает с этими параметрами:
imtest -m login -a foo@example.com localhost
Однако я хотел бы иметь возможность аутентифицироваться без указания области, например:
imtest -m login -a foo localhost
Я думал, что используя virtdomains
(установив либо на userid
или on
) и defaultdomain: example.com
сделал бы именно это, но я не могу заставить его работать.
Я всегда получаю такую ошибку:
cyrus/imap[11012]: badlogin: localhost [127.0.0.1] plaintext foo SASL(-13): authentication failure: checkpass failed
Я понимаю, что cyrus-imapd
никогда не пытается отправить область при попытке аутентифицировать пользователя foo
.
Мой вопрос: как узнать cyrus-imapd
отправлять доменное имя как царство автоматически?
Спасибо за понимание!
Есть несколько давних дискуссий о добавлении этой функции, но, очевидно, нет способа указать область аутентификации по умолчанию.
Разработка Cyrus IMAP по существу застопорилась более десяти лет (1998-2002 гг. Были последним рывком «значительного» развития). Да, есть обновления (последнее было 19 апреля 2012 года, но больше года назад).
Я бы не стал задерживать дыхание при добавлении этого.