Назад | Перейти на главную страницу

Как я могу настроить Cyrus IMAP для отправки области по умолчанию в SASL?

Я настроил 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 года, но больше года назад).

Я бы не стал задерживать дыхание при добавлении этого.