LINUX.ORG.RU
ФорумAdmin

да-да опять sendmail и sasl =))


0

0

ситуация такая
собрал последний sendmail из из следующего конфига site.config.m4

APPENDDEF(`confENVDEF', `-DSASL=2')
APPENDDEF(`conf_sendmail_LIBS', `-lsasl2')
APPENDDEF(`confLIBDIRS', `-L/usr/lib/')
APPENDDEF(`confINCDIRS', `-I/usr/include/')

проверил как скомпилилось
sendmail -d0.1 -bv root

Version 8.13.6
Compiled with: DNSMAP LOG MATCHGECOS MILTER MIME7TO8 MIME8TO7
NAMED_BIND NETINET NETUNIX NEWDB PIPELINING SASLv2 SCANF USERDB XDEBUG

конфиг sendmail.cf сгенерен из sendmail.mc

OSTYPE(linux)dnl
define('confAUTH_OPTIONS', 'A')dnl
define('confAUTH_MECHANISMS', 'GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
TRUST_AUTH_MECH('GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
DOMAIN(generic)dnl
MAILER(local)dnl
MAILER(smtp)dnl

sasl2 поставил

захожу телнетом

ehlo 1
220 ozersk.com ESMTP Sendmail 8.13.6/8.13.0; Sun, 26 Mar 2006 16:10:28 +0600
250-ozersk.com Hello localhost, pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP

запущен /usr/local/sbin/saslauthd -a shadow

клиент получает ответ при попытке отправить письмо
Ответ сервера: "5.7.0 authentication failed"

в логах сервера
unable to open Berkeley db /etc/sasldb2: No such file or directory

вопрос как заставить проходить авторизацию через /etc/shadow, а не через долбаный /etc/sasldb2 ????

anonymous

Ответ на: комментарий от anonymous

в результате отправляет только если метод авторизации LOGIN или PLAIN
то есть клиенты theBAT бреются...

anonymous
()
Ответ на: комментарий от anonymous

разобрался в чем дело, напишу может кому поможет

при методе авторизации PLAIN и LOGIN, пользовательский клиент передает логин и пароль в открытом виде без шифрования, sendmail в свою очередь используя библиотеки sasl передает данные демону saslauthd, для этого нужно прописать в файле /usr/lib/sasl2/Sendmail.conf метод проверки saslauthd, демон saslauthd запускается с ключом -a указывающим на то, как и где проверять пароль (в моем случае, для linux, запуск saslauthd -a shadow)
при методе MD5 и других клиентское приложение генерирует хеш и отправляет его sendmail'у, в этом случае salauthd не может авторизовать пользователя, так как данные зашифрованы. То есть нужна проверка по хэшу, а хэш этот может хранится только в базе /etc/sasldb2
поэтому надо добавить пользователя через команду saslpasswd2 в базу

---не удаляйте, добавлено для роботов---
sendmail
sasl
sasl2
авторизация sendmail
AUTH
shadow
getpwent
системные пароли
PLAIN
LOGIN
MD5
CRAM
-----------------------------------------

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.