Чтение онлайн

ЖАНРЫ

Linux-сервер своими руками

Колисниченко Денис Николаевич

Шрифт:

# tar –xzf cyrus-sasl-1.5.24.tar.qz

# cd cyrus-sasl-1.5.24/

# ./configure –prefix=/usr

# make

# make install

Распаковывать лучше всего, зарегистрировавшись в системе root. Сама по себе операция извлечения файлов из архива не требует таких полномочий, однако, если у вас не было прав суперпользователя, вам нужно будет изменить права доступа для файлов, которые будут распакованы в каталоги /usr/lib и /usr/include. Распаковав исходные коды, отредактируйте

файл /usr/lib/sasl/Sendmail.conf. Если он не существует, создайте его. В конец этого файла необходимо добавить строку:

pwcheck_method: sasldb

Это укажет sendmail, что аутентификацию нужно проводить с использованием SASL. Теперь займитесь созданием базы данных всех пользователей, которые могут отправлять почту. Для этого используются две программы: saslpasswd и sasldblistusers. Они должны находиться в каталоге /sbin. Запускать их нужно от имени пользователя root.

# saslpasswd –a sendmail newuser

password:<type passwdord for newuser>

Эту процедуру требуется провести для всех пользователей, которым разрешено отправление почты. Затем используйте вторую программу:

sasldblistusers

Она применяется для просмотра всех записей в базе данных. После ее запуска вы должны увидеть что-то наподобие этого:

user: newuser realm: dhsilabs.com mech: CRAM-MD5

user: newuser realm: dhsilabs.com mech: DIGEST-MD5

user: newuser realm: dhsilabs.com mech: PLAIN

Отображенная информация означает, что пользователь newuser может аутентифицироваться тремя методами: CRAM-MD5, DIGEST-MD5, PLAIN. Рекомендую использовать метод CRAM-MD5, но в крайнем случае подойдет и PLAIN.

Далее проверьте, поддерживает ли ваш sendmail библиотеку SASL:

sendmail –d0.1 –bv root | grep SASL

При отсутствии поддержки SASL от вас потребуется перекомпилировать sendmail. Вот для чего я просил в начале раздела приготовить исходные коды sendmail. Итак, распакуйте sendmail, как обычно, программой tar:

tar –xzf senmail-x.xx.xx.tar.gz cd sendmail-x.xx.xx/

Теперь нужно создать файл sendmail-x.xx.x/devtools/Site /site.config.m4, в котором необходимо прописать следующие строки:

APPENDDEF('confENVDEF' , '-DSASL')

APPENDDEF('conf_sendmail_LIBS', '-lsasl')

APPENDDEF('confLIBDIRS', '-L/usr/lib/')

APPENDDEF('confINCDIRS' , '-I/usr/include/' )

Напомню, создать файл в простейшем случае можно командой:

cat > sendmail-x.xx.x/devtools/Site/site.config.m4

Самое время запустить скрипт Build:

./Build

./Build install

Если вы все сделали правильно, ваш sendmail теперь должен поддерживать SMTP AUTH. Проверить это можно с помощью уже знакомой команды:

sendmail –d0.1 –bv root | grep SASL

После этого приступите к настройке самой программы sendmail. Для этого в файл sendmail.me внесите следующие строки:

TRUST_AUTH_MECH('GSSAPI DIGEST-MD5 CRAM-MD5 PLAIN')dnl

define('confAUTH_MECHANISMS', 'GSSAPI DIGEST-MD5 CRAM-MD5 PLAIN')dnl

define('confDEF_AUTH_INFO', Vetc/mail/auth/auth-info')dnl

FEATURE('no_default_msa')dnl turn off default entry for MSA

DAEMON_OPTIONS('Port=25, Name=MSA, M=E')dnl

Метод PLAIN,

как самый ненадежный, можно было бы убрать из списка авторизации, но я не советую вам этого делать, так как не все почтовые клиенты поддерживают не только метод PLAIN, а и SMTP аутентификацию вообще.

Запустите интерпретатор m4:

m4 senmail.mc > sendmail.cf

Скопируйте новый файл sendmail.cf на место старого, обычно он находится в каталоге /etc/mail:

ср ./sendmail.cf /etc/mail/sendmail.cf

Почти все! Осталось проверить работоспособность sendmail и убедиться, что он работает корректно. С этой целью запустите клиент telnet и присоединитесь к порту 25 вашего компьютера:

telnet localhost 25

Trying 127.0.0.1.. .

Connected to localhost

Escape character is '^ ]'.

220 local.sendmail.ORG ESMTP Sendmail 8.10.0/8.10.0; Thu, 9 Sep 1999 10:48:44 –0700 (PDT)

ehlo localhost

250-local.sendmail.ORG Hello localhost [127.0.0.1], pleased to meet you

250-ENHANCEDSTATUSCODES

250-DSN

250-AUTH DIGEST-MD5 CRAM-MD5 PLAIN

250 HELP

quit

Теперь желательно добавить описания поддерживаемых вашим сервером методов аутентификации. Откройте файл /etc/mail/sendmail.cf в любом текстовом редакторе и найдите следующие строки:

#####################

# Format of headers #

#####################

После этих строк вам нужно добавить следующее:

$.$?{auth_type}(auth_type is ${auth_type}, user

${auth_author}$.)

Хочу заметить, что файл sendmail.cf у вас может находиться в другом каталоге. Это делается для того, чтобы в заголовке письма появилось такое сообщение:

(auth_type is CRAM-MD5, user den)

Указание метода авторизации поможет вам при дальнейшей настройке вашего сервера.

13.3. Настройка почтовых клиентов

В предыдущих разделах данной главы мы рассмотрели два типа настройки программы sendmail — без аутентификации и с наличием таковой. Поэтому сначала рассмотрим настройку почтовых клиентов для первого случая, а потом — для второго. Ради написания этого материала мне даже пришлось установить Outlook Express. Этой программы не наблюдалось на моей машине с момента выхода первой версии TheBat!

Итак, рассмотрим настройку трех самых популярных почтовых клиентов:

Поделиться с друзьями: