русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Файл конфигурации sendmail.mc


Дата добавления: 2015-07-09; просмотров: 1350; Нарушение авторских прав


Просмотрев файл конфигурации sendmail.cf программы Sendmail, можно убедиться в его исключительной сложности. Случайно изменив одну из на- строек, можно привести Sendmail в неработоспособное состояние.

В настоящее время в GNU/Linux используется заранее созданный разработ- чиками Sendmail набор шаблонов, написанных на языке m4, которые позво- ляют быстро и просто настраивать Sendmail, не зная деталей настроек файла sendmail.cf.

При использовании m4 вначале создают файл макросов sendmail.mc, а за- тем с помощью препроцессора m4 его преобразуют в файл sendmail.cf (при- мер 29.10).

 

Пример 29.10. Преобразование sendmail.cf в sendmail.mc

 

m4 sendmail.mc > sendmail.cf


 

Обычно в каталоге /etc/mail находится специально разработанный файл Makefile, позволяющий с помощью утилиты make выполнить это преобразо- вание, а также перестроить при необходимости базы данных в этом каталоге. Для перестроения файла конфигурации и баз данных в каталоге /etc/mail надо выполнить команду, показанную в примере 29.11. Эта команда может обновить конфигурационные базы данных и даже пригодна для рестарта Sendmail.

 

Пример 29.11. Перестройка конфигурационных файлов

 

make all

 

Прежде чем использовать язык m4, следует убедиться, установлен ли в сис- теме соответствующий пакет (он может называться по-разному). Проверить, установлен ли данный пакет в RPM-системах, можно командой, показанной в примере 29.12.

 

Пример 29.12. Проверка наличия пакета с макросами m4 для Sendmail

 

$ rpm -qa | grep sendmail.*cf.* sendmail-cf-8.14.3-4

 

Файлы с макросами для генерации конфигурационного файла sendmail.cf на- ходятся в отдельном каталоге, например, /usr/share/sendmail-cf.

Макропроцессор m4 чувствителен к регистру задаваемых символов. В дирек- тивах FEATURE и DEFINE файла sendmail.mc используются круглые скобки, команды в которых должны быть взяты в кавычки, где открывающая кавыч- ка — обратный апостроф (`), а закрывающая — обычный апостроф (') — пример 29.13.



 

Пример 29.13. Директива m4 — определение операционной системы

 

OSTYPE(`linux')dnl

 

В результате действия этой директивы к файлу sendmail.cf будет подключен файл /usr/share/sendmail-cf/ostype/linux.m4.

Каждый макрос и директива в файле макросов должны записываться с нача- ла строки, в каждой строке может быть только одна директива или макрос. Строки, следующие после директивы dnl, пропускаются препроцессором m4 и представляют собой комментарии. Первыми двумя директивами, устанав- ливаемыми в файле макросов, обычно являются divert(-1) и divert(0).


 

Директива divert(-1) очищает буферы макросов от временных данных, не требующихся в результирующем файле. Директива divert(0) обозначает новый файл макросов.

Директива include предназначена для подключения к файлу макросов со- держимого других файлов макросов (пример 29.14).

 

Пример 29.14. Подключение макросов m4 для Sendmail

 

include(`/usr/share/sendmail-cf/m4/cf.m4')dnl

 

Макрос VERSIONID устанавливает версию получаемого файла конфигурации.

Директива, показанная в примере 29.15, не имеет отношения к доменным именам DNS. Она устанавливает разновидность макросов для построения результирующего файла конфигурации. В GNU/Linux вы можете использо- вать настройки generic.

 

Пример 29.15. Определение стандартных макросов конфигурации

 

DOMAIN(`generic')dnl

 

Макрос MAILER предназначен для указания обработчика почтового трафика (пример 29.16). Эти макросы должны устанавливаться в файле конфигурации последними, причем локальная программа доставки всегда добавляется ав- томатически.

 

Пример 29.16. Установка программы локальной доставки

 

MAILER(`procmail')dnl

 

Макрос включения посылки писем по протоколу SMTP всегда должен нахо- диться до макроса включения программы procmail (пример 29.17).

 

Пример 29.17. Порядок макросов MAILER

 

MAILER(`smtp')dnl MAILER(`procmail')dnl

 

Директива define(MACRO, VALUE) предназначена для определения макроса MACRO со значением VALUE. Например, для определения имени централизо- ванного почтового узла (Smart Host) в sendmail.mc указывают настройку, по- казанную в примере 29.18.


 

Пример 29.18. Определение Smart Host

 

define(`SMART_HOST', `mailrelay.provider.ru')

 

Здесь определен макрос SMART_HOST со значением mailrelay.provider.ru.

В примере 29.19 приведен простой файл конфигурации sendmail.cf.

 

Пример 29.19. Файл sendmail.mc

 

divert(-1)dnl

include(`/usr/share/sendmail-cf/m4/cf.m4')dnl VERSIONID(`Simple config')dnl OSTYPE(`linux')dnl define(`confDEF_USER_ID',`8:12')dnl define(`confTO_CONNECT', `1m')dnl define(`confDONT_PROBE_INTERFACES',true)dnl

define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl define(`ALIAS_FILE', `/etc/aliases')dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl FEATURE(always_add_domain)dnl FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl FEATURE(`accept_unresolvable_domains')dnl

MAILER(smtp)dnl MAILER(procmail)dnl

 

В этом файле настроек задано следующее:

r настройка define(`confDEF_USER_ID',`8:12')dnl задает UID и GID поль- зователя, от имени которого работает Sendmail (пользователь mail);

r настройка define(`confTO_CONNECT', `1m')dnl задает время ожидания соединения — 1 минута;

r используя директиву define(`confDONT_PROBE_INTERFACES',true)dnl, можно запретить Sendmail добавление имен хоста, связанных с IP- адресами интерфейсов, в класс w, задающий имена узла;

r путь к программе procmail, являющейся почтовым фильтром и исполь- зуемой в GNU/Linux для локальной доставки, задается с помощью дирек- тивы define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl;

r директива define(`ALIAS_FILE', `/etc/aliases')dnl задает имя файла почтовых псевдонимов;


 

r с помощью ограниченной оболочки Sendmail — smrsh осуществляется передача почты для обработки другим программам. Использование smrsh диктуется настройкой FEATURE(`smrsh',`/usr/sbin/smrsh')dnl;

r настройка FEATURE(always_add_domain)dnl позволяет автоматически до- бавлять адресу отправителя доменное имя;

r опции фильтра procmail для локальной доставки задаются директивой

FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl;

r разрешение на прием почты из доменов, имена узлов в которых не удается проверить в DNS, задается настройкой FEATURE(`accept_unresolvable_ domains')dnl.



<== предыдущая лекция | следующая лекция ==>
Файл конфигурации программы Sendmail | Запуск Sendmail


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.172 сек.