POSTFIX фатальный: нет механизмов аутентификации SASL

22

Я борюсь с ошибкой выше более 5 часов. Я попытался полностью удалить Postfix и следовал инструкциям следующего руководства и руководства SASL , чтобы переустановить его.

Когда я пытаюсь войти в систему с помощью telnet, сервер блокирует вход в систему, и я получаю это: (с помощью smtpd -v для более подробной информации):

postfix / smtpd [26301]: xsasl_cyrus_server_create: SASL service = smtp, realm = (null)  
postfix / smtpd [26301]: name_mask: noanonymous  
postfix / smtpd [26301]: предупреждение: xsasl_cyrus_server_get_mechanism_list: нет применимых механизмов SASL  
postfix / smtpd [26301]: fatal: нет механизмов аутентификации SASL  

Вот результаты postconf -n:

alias_database = hash: / etc / aliases
alias_maps = hash: / etc / aliases
allow_percent_hack = нет
append_dot_mydomain = нет
biff = нет
broken_sasl_auth_clients = yes
config_directory = / etc / postfix
home_mailbox = Maildir /
inet_interfaces = все
mailbox_command = / usr / bin / procmail-wrapper -o -a $ DOMAIN -d $ LOGNAME
mailbox_size_limit = 0
mydestination = theflipapp.com, localhost.com, localhost
myhostname = theflipapp.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [:: 1] / 128
myorigin = / etc / mailname
readme_directory = нет
receient_delimiter = +
relayhost =
sender_bcc_maps = hash: / etc / postfix / bcc
smtp_tls_session_cache_database = btree: $ {data_directory} / smtp_scache
smtpd_banner = $ myhostname ESMTP $ mail_name (Debian / GNU)
smtpd_recipient_restrictions = allow_mynetworks allow_sasl_authenticated reject_unauth_destination
smtpd_sasl_auth_enable = да
smtpd_sasl_security_options = noanonymous
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree: $ {data_directory} / smtpd_scache
smtpd_use_tls = да
virtual_alias_maps = хэш: / etc / postfix / virtual

основной конфиг postfix:

root @ domain: / # cat /etc/postfix/master.cf | grep ^ smtp
smtp inet n - - - - smtpd -v -o smtpd_sasl_auth_enable = да
smtp unix - - - - - smtp

Надеется, что эти данные помогут вам помочь мне ..

user2979757
источник
В моем случае на Ubuntu Server 16.04 демон dovecot не работал, набрав dovecot, все получилось. Тем не менее, это выдвигает на первый план основную проблему, которая не работает при загрузке. Вы можете прочитать, как добавить его здесь: help.ubuntu.com/community/UbuntuBootupHowto
Омар Альшакер

Ответы:

27

Вы можете установить saslauthd, но не установить никаких механизмов. Это довольно неприятно и плохо защищает от ошибок, ИМО.

«нет применимых механизмов SASL» буквально означает, что он не может найти ни одного из своих механизмов. В системе на основе Fedora вам необходимо установить пакет cyrus-sasl-plain, если вы хотите использовать механизмы аутентификации 'PLAIN' (т. Е. SMTP / STARTTLS).

yum install cyrus-sasl-plain

или

apt-get install libsasl2-modules
Билл МакГонигл
источник
Большое спасибо! Действительно трудно найти причину таких проблем, и сообщения в журналах не помогают - только как ключевые слова в поиске, чтобы найти такие удивительные ответы. Ты спас мой день.
hgoebl
После того как apt install libsasl2-devэто сработало на моей машине.
Маркус Целлер
5

решение было очень простым, демон SASL был недоступен. /etc/init.d/saslauthd start

Некоторому хакеру удалось закрыть его снова и снова, и в конце концов я полностью закрыл его.

user2979757
источник
2

Сначала попробуйте изменить разделители smtpd_recipient_restrictions на запятые. Пробелы здесь неверны.

Затем: попробуйте временно отключить "smtpd_sasl_security_options = noanonymous". Вы пытаетесь пройти аутентификацию на сервере CYRUS imap?

Тобиас Медель
источник
В соответствии с man-страницей main.cf linux.die.net/man/5/main.cf в разделе smtpd_recipient_restrictions он гласит: «Укажите список ограничений, разделенных запятыми и / или пробелами». Так что просто пробелы в качестве разделителя это просто хорошо.
Пит