Ключевые слова:sendmail, mail, crypt, sasl, ssl, freebsd, (найти похожие документы)
From: Victor Prylipko <Victor.Prylipko@f4.n4635.z2.fidonet.org.>
Newsgroups: fido7.ru.unix.bsd
Date: Thu, 08 May 2003 21:48:49 +0400
Subject: Настрока SASL аутентификации в sendmail
K> Как-нибудь их можно подружить ( SMTP Auth: Sendmail + Outlook Express) ?
K> Всё делал по http://sendmail.by.ru/documents/SMTPAuth.htm
K> Бат работает, а что делать с Аутлуком?
Делюсь своим опытом.
Исправления, дополнения приветствуются.
Как я устанавливал SMTP аутентификацию.
Дано:
FreeBSD 4.8 STABLE;
sendmail - штатный.
Требуется:
настроить авторизацию клиента использующего Outlook Express при приеме
почты от него, нужно для возможности принимать почту от клента, если он
отпраляет почту с "чужих" IP-адресов.
1. Ставим из портов cyrus-sasl2
#portinstall cyrus-sasl
и выбираем security/cyrus-sasl2
2. Из /etc/defaults/make.conf копируем строки в /etc/make.conf
SENDMAIL_CFLAGS=-I/usr/local/include -DSASL=2
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl2
3. Пересобираем sendmail
# cd /usr/src/lib/libsm
# make clean && make obj && make depend && make
# cd /usr/src/lib/libsmutil
# make clean && make obj && make depend && make
# cd /usr/src/usr.sbin/sendmail
# make clean && make obj && make depend && make && make install
4. Добавляем строку в /etc/rc.conf
sasl_saslauthd_flags="-a sasldb"
5. Запускаем демон SASL-а
/usr/local/etc/rc.d/saslauthd.sh start
6. Добавляем сроки в ваш .mc файл
TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 PLAIN LOGIN')dnl
define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 PLAIN LOGIN')dnl
В принципе можно ограничится только одним методом LOGIN, если нужно только
для Outlook Express (других клиентов я не пробывал).
TRUST_AUTH_MECH(`LOGIN')dnl
define(`confAUTH_MECHANISMS', `LOGIN')dnl
7. Генерим sendmail.cf и устанавливаем его
#cd /etc/mail
#make install restart
8. Заводим пользователя в базу SASL
#saslpasswd2 -a sendmail newuser
проверка, что пользователь добавлен:
#sasldblistusers2
выдаст список пользователей в базе.
9. Создаем пустой файл /etc/srvtab чтобы sendmail в логах не ругался,
хотя можно этого и не делать. :-)
10. В настройках Outlook Express
Tools | Accounts... | нужный аккаунт | Properties | Servers |
ставим "галочку" My server requires authentication и жмем кнопку
Settings...
вводим Accaunt name и Password которые занесли в базу в 8-м пункте.
Все почта от пользователя принимается невзирая на /etc/mail/access.db
Victor,
old-and-gray@old-and-gray.ck.ua
old-and-gray@old-and-gray.cherkassy.ua
cd /usr/src/lib/libsm
# make clean && make obj && make depend &&
Вот Вы написали как пересобрать sendmail в FreeBSD 4.8
make
# cd /usr/src/lib/libsmutil
# make clean && make obj && make depend && make
# cd /usr/src/usr.sbin/sendmail
# make clean && make obj && make depend && make && make install
У меня стоит Freebsd 4.9 и такой способ пересобрать sendmail не проходит из-за отсутствия по указанному пути необходимых файлов. Когда же делаю сборку из sait.config.m4 система ругается
cc -o sendmail -L/usr/local/lib/sasl2 main.o alias.o arpadate.o bf.o collect.o conf.o control.o convtime.o daemon.o deliver.o domain.o envelope.o err.o headers.o macro.o map.o mci.o milter.o mime.o parseaddr.o queue.o readcf.o recipient.o sasl.o savemail.o sfsasl.o shmticklib.o sm_resolve.o srvrsmtp.o stab.o stats.o sysexits.o timers.o tls.o trace.o udb.o usersmtp.o util.o version.o -lsasl2 /usr/src/sendmail/obj.FreeBSD.4.9-RELEASE.i386/libsmutil/libsmutil.a /usr/src/sendmail/obj.FreeBSD.4.9-RELEASE.i386/libsm/libsm.a -lutil
/usr/libexec/elf/ld: cannot find -lsasl2
*** Error code 1
Stop in /usr/src/sendmail/obj.FreeBSD.4.9-RELEASE.i386/sendmail.
*** Error code 1
Stop in /usr/src/sendmail.
Посоветуйте, пожалуйста, как быть в такой ситуации? Мне нужно сделать smtp авторизацию из базы sasldb. Но, видимо, знаний не хватает.