Денис Колисниченко - Linux: Полное руководство
- Название:Linux: Полное руководство
- Автор:
- Жанр:
- Издательство:Наука и Техника
- Год:2006
- Город:Санкт-Петербург
- ISBN:5-94387-139-Х
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Денис Колисниченко - Linux: Полное руководство краткое содержание
Данная книга представляет собой великолепное руководство по Linux, позволяющее получить наиболее полное представление об этой операционной системе. Книга состоит из трех частей, каждая из которых раскрывает один из трех основных аспектов работы с Linux: Linux для пользователя, сетевые технологии Linux (и методика настройки Linux-сервера), программирование Linux. В книге охвачен очень широкий круг вопросов, начиная с установки и использования Linux «в обычной жизни» (офисные пакеты, игры, видео, Интернет), и заканчивая описанием внутренних процессов Linux, секретами и трюками настройки, особенностями программирования под Linux, созданием сетевых приложений, оптимизацией ядра и др.
Изложение материала ведется в основном на базе дистрибутивов Fedora Cora (Red Hat) и Mandriva (Mandrake). Однако не оставлены без внимания и другие дистрибутивы SuSe, Slackware, Gentoo, Alt Linux, Knоppix. Дается их сравнительное описание, a по ходу изложения всего материала указываются их особенности.
Книга написана известными специалистами и консультантами по использованию Linux, авторами многих статей и книг по Linux, заслуживших свое признание в самых широких Linux-кругах. Если вы желаете разобраться в особенностях Linux и познать ее внутренний мир, эта книга — ваш лучший выбор.
Linux: Полное руководство - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Предположим, вы хотите, чтобы названия компьютеров домена были скрыты. Это легко достигается с помощью добавления функции masquerade_envelopeв ваш mc-файл. Для этого скопируйте файл
redhat.mc
в файл hide_hosts.mc
и добавьте в конец файла hide_hosts.mc
строки:
MASQUERADE_AS(my-domain.ru)dnl
FEATURE(masquerade_envelope)dnl
Затем выполните команду:
# m4 /usr/share/sendmail-cf/cf/hide_hosts.mc > /etc/sendmail.cf
Вот и все! Названия узлов будут скрыты. Описание прочих функций представлено в таблице 14.1.
Функции программы sendmail Таблица 14.1
Функция | Описание |
---|---|
access_db | Определяет таблицу доступа. В этой таблице указаны узлы, которым разрешена или запрещена отправка почты через ваш почтовый сервер. Эта функция эффективно используется для борьбы со спамом |
accept_unresolvable_domains | Разрешает отправлять почту доменам, которые не могут быть распознаны |
bestmx_is_local | Сообщения будут приниматься только а том случае, если запись MX сервера DNS указывает на этот почтовый сервер |
blacklist_recipients | «Черный список». Еще одна функции дли борьбы со спамом. Для ее работы необходима функция access_db |
dnsbl | Используется дли работы с «черным списком», dnsbl— это сокращение от DNS Black List. В более ранних версиях эта опция называлась rbl (Resolve Black List) |
domaintable | Используется для разрешения имен доменов |
genericstable | Используется для изменения адреса отправки в сообщениях |
local_procmail | Указывает, что доставлять почту нужно с помощью локальной утилиты procmail |
mailertable | Переопределяет маршрутизацию для конкретных доменов |
masquerade_entire_domain | Используется для маскировки (сокрытия) всего домена. Данная функция должна использоваться вместе с директивой MASQUERADE_AS (или MASQUERADE_DOMAIN), например, MASQUERADE_AS(f117.ru)dnl |
masquerade_envelope | Позволяет скрыть имена узлов домена. Заменяет поле received fromзаголовка сообщения перед передачей сообщения другим MTA |
redirect | Используется для перенаправления на другой почтовый сервер. Означает отказ от принятия почты с выдачей сообщения please try (попытайтесь использовать этот адрес) |
relay_based_on_MX | Разрешает перенаправление (ретрансляцию) почты только для узлов, которые указаны в записях MX сервера DNS |
relay_hosts_only | Разрешает ретрансляцию только для узлов, указанных в access_db |
relay_mail_from | Разрешает ретрансляцию, только если отправитель указан в списке RELAY базы access_db |
smrsh | Использование ограниченной оболочки sendmail |
use_cf_file | При указании этой функции sendmailбудет обращаться к файлу sendmail.cf за списком доверенных пользователей |
use_cw_file | При указании этой функции sendmailбудет обращаться к файлу sendmail.cw за списком локальных узлов |
virtuserlable | Преобразует адрес получателя в адрес локального пользователя |
В файле
/etc/mail/sendmail.cw
перечислены все псевдонимы вашего почтового сервера. Предположим, что имя вашего сервера mail.dhsilabs.ru. Если отправитель отправит почту по адресу den@mail.dhsilabs.ru, письмо будет без проблем доставлено пользователю den. А если кто-то отправит письмо по адресу den@dhsilabs.ru, то его доставка вызовет определенные трудности, так как не ясно, какому узлу домена dhsilabs адресовано сообщение. Для решения этой проблемы в файл sendmail.cw нужно поместить строку:
dhsilabs.ru
Теперь, когда будет приходить почта формата user@dhsilabs.ru, она будет доставлена почтовому серверу mail.dhsilabs.ru.
Напомню, что перед изменением файла
sendmail.cf
желательно остановить программу sendmail. Это делается с помощью команды:
# /etc/init.d/sendmail stop
Конечно, удобнее сначала отредактировать файл
sendmail.cf
с помощью m4, а потом выполнить команду /etc/init.d/sendmail restart
для перезапуска программы sendmail.
14.2. Аутентификация в sendmail
14.2.1. Установка и настройка SASL
Программа Sendmail 8.10/8.11 поддерживает SMTP AUTH согласно стандарту RFC 2554. Аутентификация базируется на SASL (Simple Authentication and Security Layer). Она позволит вам несколько повысить безопасность вашей сети, но создаст определенные неудобства для пользователей, потому что не все почтовые клиенты (пользовательские агенты) ее поддерживают.
Первым делом убедитесь в том, что ваша сборка sendmailподдерживает библиотеку SASL:
# sendmail -d0.1 -bv root | grep SASL
При отсутствии поддержки SASL от вас потребуется перекомпилировать sendmail. Распаковав исходные коды в каталог 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/')
После этого запустите сценарий Build:
# ./Build
# ./Build install
Если вы все сделали правильно, ваш sendmailтеперь должен поддерживать SMTP AUTH. Теперь вам потребуются библиотеки Cyrus SASL, исходные коды которых вы можете найти по адресу
ftp://ftp.andrew.emu.edu/pub/cyrus-mail
.
Соберите библиотеку Cyrus SASL, выполнив следующую последовательность действий:
# tar -xzf cyrus-sasl-1.5.24.tar.gz
# cd cyrus-sasl-1.5.24/
# ./configure --prefix=/usr
# make
# make install
После установки библиотеки отредактируйте файл
/usr/lib/sasl/Sendmail.conf
. Если он не существует, создайте его. В конец этого файла необходимо добавить строку:
pwcheck_method: sasldb
Это укажет sendmail, что аутентификацию нужно проводить с использованием SASL. Теперь займитесь созданием базы данных всех пользователей, которые могут отправлять почту. Для этого используются две программы: saslpasswdи sasldblistusers. Они должны находиться в каталоге
/sbin
. Запускать их нужно от имени суперпользователя.
# saslpasswd -a sendmail newuser
password:<���пароль для newuser>
Эту процедуру нужно провести для всех пользователей, которым разрешено отправление почты. Утилита sasldblistusersпредназначена для просмотра всех записей в базе данных. После ее запуска вы должны увидеть что-то наподобие этого:
user: newuser realm: dhsilabs.com mech: CRAM-MD5
user: newuser realm: dhsilabs.com mech: DIGEST-HD5
user: newuser realm: dhsilabs.com mech: PLAIN
Отображенная информация означает, что пользователь newuser может аутентифицироваться тремя методами: CRAM-MD5, DIGEST-MD5, PLAIN. Рекомендую использовать метод CRAM-MD5, но в крайнем случае подойдет и PLAIN.
14.2.2. Настройка sendmail+SASL
В файл
sendmail.mc
внесите следующие строки:
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 PLAIN')dnl
Интервал:
Закладка: