Опубликован: 21.11.2006 | Уровень: специалист | Доступ: платный
Лекция 10:

Программа sendmail

Текстовый файл псевдонимов

Путь: /etc/aliases

В файле /etc/aliases администратор почтовой системы может указать почтовые псевдонимы для пользователей. Файл /etc/aliases является текстовой версией псевдонимов из хешированной базы данных, которая используется программой sendmail. Каждый псевдоним должен указываться в отдельной строке в виде:

alias: userid,

где alias — имя псевдонима, а userid — имя пользователя локальной системы.

После того как в файл псевдонимов были внесены изменения, администратору почтовой системы необходимо запустить программу newaliases для создания хешированной базы данных в /etc/aliases.db. Программа sendmail при обработке сообщений читает файл хешированной базы данных псевдонимов. Если в поле получателя содержится имя, которое совпадает с именем в базе данных псевдонимов, то сообщение передается получателю с указанным псевдонимом.

Как правило, при установке ОС Linux автоматически создается несколько пользователей системы, которые обычно не используются в дальнейшей работе. Все эти имена можно с помощью псевдонимов присвоить одному пользователю. Теперь легко отследить некорректное поведение почты или даже идентифицировать попытки несанкционированного доступа в локальную систему. В листинге 10.1 показан пример файла aliases, где используется подобный механизм.

1 #
2 # @(#)aliases 8.2 (Berkeley) 3/5/94
3 #
4 # Aliases in this file will NOT be expanded in the header from
5 # Mail, but WILL be visible over networks or from /bin/mail.
6 #
7 # >>>>>>>>> The program "newaliases".must be run after
8 # >>>NOTE>>> this file is updated for any changes to
9 # >>>>>>>> show through to sendmail.
10 #
11
12 # Basic system aliases -- these MUST be present.
13 MAILER-DAEMON: postmaster
14 postmaster: root
15
16 #General redirections for pseudo accounts.
17 bin: root
1B daemon: root
19 games: root
20 ingres: root
31 nobody: root
32 system: root
23 toor: root
24 uucp: root
25
26 #Well-known aliases.
27 manager: root
29 dumper: root
29 operator:root
30
31 #trap decode to catch security attacks
33 decode: root
33
34 #Person who should get root's mail
35 root: rich
Листинг 10.1. Пример файла /etc/aliases

В строках 13 и 14 листинга 10.1 определены псевдонимы для имени пользователя, которому посылаются сообщения об ошибках (наверняка вы часто сталкивались с сообщением "О всех ошибках при работе с электронной почтой обращайтесь к postmaster" ("send all compliants to postmaster")?). Здесь мы говорим, что все сообщения для postmaster будут перенаправлены пользователю root. В строках 17–24 задаются псевдонимы для пользователей, которые при установке системы обычно не получают прав пользователя root. Далее в строках 27–32 задаются псевдонимы для некоторых стандартных пользователей системы. И наконец, в строке 35 дается указание всю почту, адресованную пользователю root, перенаправлять администратору почтовой системы, так как ни один уважающий себя администратор не регистрируется в системе c правами root.

Учетная запись postmaster

С ростом популярности сети Internet, и в частности WEB, стала активно использоваться учетная запись пользователя postmaster. На большинстве WEB-серверов она используется в качестве механизма обратной связи с пользователями. Именно ему пользователи обычно направляют свои комментарии и пожелания, касающиеся работы WEB-сервера. Для перегруженных серверов иногда можно создавать специальную учетную запись для администратора почтовой системы и с помощью псевдонима перенаправлять весь поток почты для postmaster этому пользователю. Кроме того, администратору почтовой системы необходимо ежедневно проверять свой почтовый ящик.

Отчет о состоянии хоста

Путь: /usr/sbin/hoststat

Программа hoststat является еще одной символической связью с программой sendmail. При ее выполнении программа sendmail пытается прочесть файл статистики по хосту и отобразить состояние последнего действия, произведенного с почтой, всем удаленным хостам, куда она отправила почту.

Очистить состояние хоста

Путь: /usr/sbin/purgeststat

Программа purgeststat также является символической связью с программой sendmail. При запуске purgeststat программа sendmail удаляет всю статистическую информацию из файла статистики по хосту.

Файл состояния хоста

Путь: /var/spool/mqueue/.hoststat

В каталоге /var/spool/mqueue/.hoststat содержатся файлы, в которых хранится статистическая информация по каждому удаленному хосту. Эти файлы используются программой для отображения текущего состояния операций с удаленным хостом.

Файл сбора статистики

Путь: /etc/sendmail.st

Если ведется файл sendmail.st, то это говорит о том, что администратор почтовой системы желает вести сбор статистики об исходящем почтовом трафике. Изначально этот файл создается с нулевым размером. Хотя по умолчанию он обычно находится в каталоге /etc, во многих версиях ОС Linux, таких как, Red Hat, Caldera и Mandrake, желательно изменить местоположение этого файла, заданное по умолчанию, на /var/log/sendmail.st.

Персональный файл для пересылки почты

Путь: $HOME/.forward

Каждому пользователю в системе можно создать в рабочем каталоге файл .forward. При попытке передать почту для локального пользователя посредством локального почтового процессора программа sendmail проверяет наличие этого файла. Если он существует и в нем указан адрес электронной почты, то sendmail будет пересылать сообщение на этот адрес. Адреса электронной почты должны быть указаны в стандартном формате ( username@hostmname ) по одному в строке.

Предупреждение

Избегайте появления петель при работе почты. Например, если почта от пользователя katie пересылается пользователю jessica, а пользователь jessica пересылает ее обратно katie, то, естественно, sendmail будет бесконечно пересылать их от одного пользователя к другому и обратно. Довольно часто обнаружить такую ситуацию не представляется возможным, так как никаких сообщений при этом не генерируется.

Valentin Diduk
Valentin Diduk
Украина, одесса, кпи, 2010
Евгений Олабин
Евгений Олабин
Беларусь, Гродно