Оглавление Оглавление 1
Вид материала | Документы |
СодержаниеИспользование Sendmail Использование Sendmail R$* < @ *local* > $* $1 Почтовые псевдонимы |
- Кожич Павел Павлович Минск 2010 г Оглавление Оглавление 2 Применение информационных, 302.47kb.
- Оглавление оглавление, 63.5kb.
- Оглавление Оглавление, 259.29kb.
- Ланин Борис Евсеевич Оглавление Оглавление 1 лекция, 810.53kb.
- Оглавление: Оглавление:, 350.3kb.
- Октябрьской Революции Краснознаменной академии (ввиа) имени профессора Н. Е. Жуковского, 1685.68kb.
- Караваева Елена Леонидовна г. Светлый 2008 г. Оглавление оглавление 2 пояснительная, 130.81kb.
- Винарский Владимир Афанасьевич ассистент Шешко Сергей Михайлович Минск 2008 г. Оглавление, 156.88kb.
- Коледа Виктор Антонович, ст преподаватель Пол Кожич Минск 2010 г. Оглавление Оглавление, 340.48kb.
- Обуховский Виктор Степанович, ассистент Позняков Андрей Михайлович Минск 2006 г оглавление, 266.12kb.
Использование Sendmail
- Ключевые файлы, термины и утилиты:
/etc/aliases
sendmail.cw
virtusertable
genericstable
- Дата последнего изменения требований LPI (LPI Objective):24 августа 2001 года
-
Использование Sendmail
Введение
Sendmail – это одна из самых старых почтовых программ. Она была создана Эриком Оллмэном (Eric Allman) в 1979 году. Несмотря на некоторые ошибки, влияющие на безопасность, она широко используется в Интернете и установлена на большом числе почтовых серверов. Программа sendmail знаменита своим конфигурационным файлом sendmail.cf, который очень тяжело понять, когда редактируешь его впервые.
Настройка
Файл sendmail.cf нелегко редактировать, поэтому для настройки sendmail мы воспользуемся другим, гораздо более простым файлом sendmail.cm. Затем мы используем интерпретатор макро-языка m4, чтобы получить sendmail.cf на основе нашего варианта sendmail.mc.
Пример файла sendmail.mc :
[root@test majordomo-1.94.5]# cat /etc/mail/sendmail.mc
divert(-1)
dnl This is the macro config file used to generate the /etc/sendmail.cf
dnl file. If you modify the file you will have to regenerate the
dnl /etc/sendmail.cf by running this macro config through the m4
dnl preprocessor:
dnl
dnl m4 /etc/sendmail.mc > /etc/sendmail.cf
dnl
dn0l You will need to have the sendmail-cf package installed for this to
dnl work.
dnl ( Это файл с макросами настройки, используемыми для генерации файла
dnl /etc/sendmail.cf Если вы измените его, вам потребуется перестроить
dnl файл /etc/sendmail.cf с помощью запуска интерпретатора m4 командой:
dnl
dnl m4 /etc/sendmail.mc > /etc/sendmail.cf
dnl
dnl Пакет sendmail-cf должен быть установлен для того, чтобы это сработало)
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
define(`confDEF_USER_ID',``mail:mail'')dnl
OSTYPE(`linux')dnl
undefine(`UUCP_RELAY')dnl
undefine(`BITNET_RELAY')dnl
define(`confDOMAIN_NAME', `test@domain.org')dnl
define(`confTRUSTED_USERS',`majordomo')dnl
define(`confALIAS_WAIT', `30')dnl
define(`confTO_CONNECT', `1m')dnl
define(`confTRY_NULL_MX_LIST',true)dnl
define(`confDONT_PROBE_INTERFACES',true)dnl
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
dnl define delivery mode: interactive, background, or queued
dnl определение режима доставки: интерактивный (i), фоновый (b),
dnl или использующий очереди (q))
dnl define(`confDELIVERY_MODE', `i')
MASQUERADE_AS(`localhost.localdomain')dnl
FEATURE(`limited_masquerade')dnl
FEATURE(`masquerade_envelope')dnl
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
FEATURE(mailertable)dnl
dnl virtusertable: redirect incoming mail to virtual domain to particular user or domain
dnl ( параметр virtusertable служит для перенаправления почты адресованной виртуальному домену на адрес конкретного домена или пользователя )
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable')dnl
dnl genericstable: rewrite sender address for outgoing mail
dnl (параметр genericstable служит для перезаписи адреса отправителя в исходящих письмах)
dnl FEATURE(genericstable)dnl
FEATURE(always_add_domain)dnl
FEATURE(redirect)dnl
FEATURE(use_cw_file)dnl
...
[пропущено]
...
(`confDONT_BLAME_SENDMAIL',`GroupWritableAliasFile,IncludeFileInGroupWritableDirPath')
You have new mail in /var/spool/mail/root
[root@test majordomo-1.94.5]#
Пример sendmail.cf :
[root@test majordomo-1.94.5]# cat /etc/mail/sendmail.cf
...
[пропущено]
...
Sfinal=4
R$+ :; <@> $@ $1 : handle
R$* <@> $@ handle <> and list:;
# strip trailing dot off possibly canonical name
# ( удаление замыкающий точки в вероятно канонических именах )
R$* < @ $+ . > $* $1 < @ $2 > $3
# eliminate internal code
# ( исключение внутреннего кода )
R$* < @ *LOCAL* > $* $1 < @ $j > $2
# externalize local domain info
# ( конкретизация информации о локальном домене )
R$* < $+ > $* $1 $2 $3 defocus
R@ $+ : @ $+ : $+ @ $1 , @ $2 : $3
R@ $* $@ @ $1 ... and exit
# UUCP must always be presented in old form
# ( UUCP всегда должен присутствовать в старом формате )
R$+ @ $- . UUCP $2!$1 u@h.UUCP => h!u
# delete duplicate local names
# ( удаление дубликатов в локальных именах )
R$+ % $=w @ $=w $1 @ $2 u%host@host => u@host
...
[SNIP]
...
SAddDomain
R$* < @ $* > $* $@ $1 < @ $2 > $3 already fully qualified
R$+ $@ $1 < @ *LOCAL* > add local qualification
Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=EnvFromL/HdrFromL, R=EnvToL/
HdrToL,
T=DNS/RFC822/X-Unix,
A=procmail -Y -a $h -d $u
Mprog, P=/usr/sbin/smrsh, F=lsDFMoqeu9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, D=$
z:/,
T=X-Unix/X-Unix/X-Unix,
A=smrsh -c $u
[root@test majordomo-1.94.5]#
Как правило, мы будем редактировать sendmail.mc и конвертировать его затем в sendmail.cf с помощью команды:
[root@test majordomo-1.94.5]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
sendmail.mc
Несколько полезных ключевых слов, которые по сути являются командами языка m4:
divert : начала комментария. Комментарий продолжается до следующей команды divert
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl : использовать файл cf.m4 для генерации sendmail.cf
OSTYPE(`linux')dnl : Определение операционной системы, на которой будет работать sendmail
define(`confTRUSTED_USERS',`majordomo')dnl : установить значение переменной “confTRUSTED_USERS” равной “majordomo”.
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl : Одна из настроек sendmail. Настроек у этой программы огромное множество, и описать их всех в этом документе не представляется возможным.
Почтовые псевдонимы
Файл с описанием почтовых псевдонимов /etc/aliases (или /etc/mail/aliases) имеет следующий формат:
bin: root
daemon: root
games: root
ingres: root
nobody: root
system: root
toor: root
uucp: root
В этом примере почтовые сообщения для таких адресатов, как например system или daemon будут перенаправлены в почтовый ящик пользователя root.
Кроме того, можно запускать программу каждый раз, когда какой-то пользователь получает письмо. Эта возможность используется majordomo. Для этого используется следующий синтаксис:
majordomo | /path/to/executable
Можно перенаправить почту на другой адрес:
user user@new.address.com
Заметьте, что пользователи могут делать это самостоятельно, указав эту строчку в файле .forward в своём домашнем каталоге.
Можно создать очень простой список рассылки:
localadmins john, robert, paul
Каждый раз после изменения этого файла необходимо запустить команду newaliases для того, чтобы изменения вступили в силу.
[root@test root]# newaliases
/etc/aliases: 29 aliases, longest 73 bytes, 855 bytes total
[root@test root]#