Наличие SMTP аутентификации на почтовом сервере дает множество преимуществ. SMTP аутентификация может добавить дополнительный уровень безопасности к sendmail, и позволяет мобильным пользователям, подключающимся к разным хостам, возможность использовать тот же почтовый сервер без необходимости перенастройки почтового клиента при каждом подключении.
Установите
security/cyrus-sasl2
из портов. Вы можете найти этот порт в
security/cyrus-sasl2.
В пакете security/cyrus-sasl2
есть множество параметров компиляции. Для используемого здесь
метода SMTP аутентификации убедитесь, что параметр
LOGIN
не отключен.
После установки
security/cyrus-sasl2,
отредактируйте /usr/local/lib/sasl2/Sendmail.conf
(или создайте его если он не существует) и добавьте следующую
строку:
pwcheck_method: saslauthd
Затем установите
security/cyrus-sasl2-saslauthd
и добавьте в /etc/rc.conf
следующую
строку:
saslauthd_enable="YES"
а затем запустите saslauthd:
#
service saslauthd start
Этот даемон является посредником для аутентификации
sendmail через базу данных
passwd
FreeBSD. Это позволяет избежать
проблем, связанных с созданием нового набора имен пользователей
и паролей для каждого пользователя, которому необходима
SMTP аутентификация, пароль для входа в систему
и для отправки почты будет одним и тем же.
Теперь отредактируйте /etc/make.conf
и
добавьте следующие строки:
SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL SENDMAIL_LDFLAGS=-L/usr/local/lib SENDMAIL_LDADD=-lsasl2
Эти параметры необходимы sendmail для подключения cyrus-sasl2 во время компиляции. Убедитесь, что cyrus-sasl2 был установлен до перекомпиляции sendmail.
Перекомпилируйте sendmail, выполнив следующие команды:
#
cd /usr/src/lib/libsmutil
#
make cleandir && make obj && make
#
cd /usr/src/lib/libsm
#
make cleandir && make obj && make
#
cd /usr/src/usr.sbin/sendmail
#
make cleandir && make obj && make && make install
Компиляция sendmail должна пройти
без проблем, если /usr/src
не был сильно
изменен и доступны необходимые разделяемые библиотеки.
После компилирования и переустановки
sendmail, отредактируйте файл
/etc/mail/freebsd.mc
(или тот файл, который
используется в качестве .mc
; многие
администраторы используют в качестве имени этого файла
вывод hostname(1) для обеспечения уникальности).
Добавьте к нему следующие строки:
dnl set SASL options TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
Эти параметры настраивают различные методы, доступные sendmail для аутентификации пользователей. Если вы хотите использовать вместо pwcheck другой метод, обратитесь к прилагаемой документации.
Наконец, запустите make(1) в каталоге
/etc/mail
. Из файла
.mc
будет создан файл
.cf
, называющийся
freebsd.cf
(или с тем именем, которое было
использовано для файла .mc
). Затем
используйте команду make install restart
,
которая скопирует файл в sendmail.cf
,
и правильно перезапустит sendmail.
Дополнительная информация об этом процессе находится в
/etc/mail/Makefile
.
Если все шаги пройдены успешно, введите информацию для
аутентификации в настройки почтового клиента и отправьте тестовое
сообщение. Для определения причин возможных ошибок установите
параметр sendmail
LogLevel
в 13 и просмотрите
/var/log/maillog
.
За дальнейшей информацией обратитесь к странице sendmail, посвященной SMTP аутентификации.
Этот, и другие документы, могут быть скачаны с https://download.freebsd.org/ftp/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.