Почтовые программы пользователей



Почтовая программа пользователя (Mail User Agent, MUA) это приложение, используемое для отправки и получения почты. Кроме того, поскольку почта ''эволюционирует'' и становится более сложной, MUA совершенствуют свои функции по обработке почты, становятся более удобны в использовании. FreeBSD поддерживает множество различных пользовательских почтовых программ, каждая из которых может быть легко установлена из Коллекции Портов FreeBSD. Пользователи могут выбирать между графическими почтовыми клиентами, такими как evolution или balsa, консольными клиентами, такими как mutt, alpine или mail, или Web-интерфейсами, используемыми в некоторых больших организациях.

Mail

В FreeBSD в качестве MUA по умолчанию используется mail(1). Это консольный MUA, предоставляющий все основные функции, необходимые для отправки и получения текстовых сообщений, хотя его возможности по работе с вложениями ограничены и он может работать только с локальными почтовыми ящиками.

Хотя mail не поддерживает работу с серверами POP или IMAP, эти почтовые ящики могут быть загружены в локальный файл mbox с помощью fetchmail, который будет обсуждаться далее в этой главе (Разд. 25.12).

Для отправки и получения почты просто выполните команду mail, как в этом примере:

% mail

Содержимое почтового ящика в каталоге /var/mail будет автоматически прочитано утилитой mail. Если почтовый ящик пуст, утилита завершит работу с сообщением о том, что почта не была обнаружена. После чтения почтового ящика запустится интерфейс программы и будет отображен список сообщений. Сообщения нумеруются автоматически и будут выглядеть как в этом примере:

Mail version 8.1 6/6/93. Type ? for help.

"/var/mail/marcs": 3 messages 3 new

>N 1 root@localhost   Mon Mar 8 14:05 14/510 "test"

 N 2 root@localhost   Mon Mar 8 14:05 14/509 "user account"

 N 3 root@localhost   Mon Mar 8 14:05 14/509 "sample"

Теперь сообщения могут быть прочитаны с помощью команды t, завершаемой номером сообщения, которое должно быть отображено. В этом примере мы прочтем первое сообщение:

& t 1

Message 1:

From root@localhost Mon Mar 8 14:05:52 2004

X-Original-To: marcs@localhost

Delivered-To: marcs@localhost

To: marcs@localhost

Subject: test

Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)

From: root@localhost (Charlie Root)

 

This is a test message, please reply if you receive it.

Как видно в примере выше, клавиша t выводит сообщение со всеми заголовками. Для повторного вывода списка сообщений необходимо использовать клавишу h.

Если требуется ответить на сообщение, используйте для ответа mail, нажав клавишу R или r. Клавиша R используется в mail для ответа только отправителю, а r для ответа и отправителю, и другим получателям сообщения. Вы можете также завершить эти команды номером письма, на которое хотите составить ответ. После этого необходимо ввести ответ, конец сообщения должен быть завершен символом . на новой строке. Пример можно увидеть ниже:

& R 1

To: root@localhost

Subject: Re: test

 

Thank you, I did get your email.

.

EOT

Для отправки нового сообщения используйте клавишу m и введите адрес получателя. Несколько получателей могут быть указаны через запятую. Введите тему сообщения и его содержимое. Конец сообщения отмечается помещением символа . на новой строке.

& mail root@localhost

Subject: I mastered mail

Now I can send and receive email using mail ... :)

.

EOT

В утилите mail для вызова справки в любой момент может быть использована команда ?, для получения помощи по mail необходимо также обратиться к странице справочника mail(1).

Замечание: Как упоминалось выше, команда mail(1) не была первоначально предназначена для работы с вложениями, и поэтому их поддержка довольно слабая. Современные MUA, такие как mutt, работают с вложениями гораздо более уверенно. Но если вы все же предпочитаете использовать mail, установите порт converters/mpack.

Mutt

mutt это небольшая но очень мощная почтовая программа с отличными возможностями, в числе которых:

• Возможность сортировки сообщений по дискуссиям;

• Поддержка PGP для подписи и шифрования сообщений;

• Поддержка MIME;

• Поддержка Maildir;

• Широкие возможности настройки.

Все эти возможности делают mutt одним из самых лучших почтовых клиентов. Обратитесь к http://www.mutt.org за дополнительной информацией по mutt.

Стабильная версия mutt может быть установлена из порта mail/mutt. После установки порта, mutt может быть запущен следующей командой:

% mutt

mutt автоматически прочтет содержимое пользовательского почтового ящика в каталоге /var/mail и отобразит почту, если она имеется в наличии. Если почты в ящике пользователя нет, mutt будет ожидать команд от пользователя. В примере ниже показан mutt со списком сообщений:

Программа alpine может быть настроена через пункт SETUP главного меню. Обратитесь к странице http://www.washington.edu/alpine/ за дальнейшей информацией.

Использование fetchmail

fetchmail это полноценный IMAP и POP клиент, позволяющий пользователям автоматически загружать почту с удаленных серверов IMAP и POP в локальные почтовые ящики; так доступ к почтовым ящикам упрощается. fetchmail может быть установлен из порта mail/fetchmail и предоставляет различные возможности, в том числе:

• Поддержка протоколов POP3, APOP, KPOP, IMAP, ETRN и ODMR.

• Возможность пересылки почты через SMTP, что позволяет использовать функции фильтрации, перенаправления и синонимов.

• Может быт запущен в режиме даемона для периодической проверки поступающих сообщений.

• Может забирать почту с нескольких почтовых ящиков и рассылать ее различным локальным пользователям в зависимости от настроек.

Описание всех возможностей fetchmail выходит за пределы этой главы, за дополнительной информацией обратитесь к документации по fetchmail. Утилита fetchmail требует наличия файла настройки .fetchmailrc. Этот файл включает информацию о сервере, а также информацию для аутентификации. Поскольку этот файл содержит важную информацию, правильно будет сделать его доступным для чтения только владельцем с помощью следующей команды:

% chmod 600 .fetchmailrc

В следующем примере файл .fetchmailrc предназначен для загрузки одного почтового ящика по протоколу POP. Этот файл указывает fetchmail соединиться с example.com с именем пользователя joesoap и паролем XXX. В примере подразумевается, что пользователь joesoap существует также и в локальной системе.

poll example.com protocol pop3 username "joesoap" password "XXX"

В следующем примере производится подключение к нескольким POP и IMAP серверам, при необходимости почта перенаправляется другим локальным пользователям:

poll example.com proto pop3:

user "joesoap", with password "XXX", is "jsoap" here;

user "andrea", with password "XXXX";

poll example2.net proto imap:

user "john", with password "XXXXX", is "myth" here;

Утилита fetchmail может работать в режиме даемона с флагом -d, заданным с интервалом (в секундах), через который fetchmail должен опрашивать серверы, перечисленные в .fetchmailrc. В следующем примере fetchmail будет забирать почту каждые 600 секунд:

% fetchmail -d 600

Дополнительную информацию о fetchmail можно найти на сайте http://fetchmail.berlios.de/.

Использование procmail

Утилита procmail это невероятно мощное приложение, используемое для фильтрации входящей почты. Она позволяет пользователям определять ''правила'', которые могут быть сопоставлены входящим письмам для выполнения определенных действий или для перенаправления почты в альтернативные почтовые ящики и/или на почтовые адреса. procmail может быть установлен с помощью порта mail/procmail. После установки он может быть непосредственно интегрирован в большинство MTA; сверьтесь с документацией на ваш MTA. Другой способ интеграции procmail – добавление в файл .forward, находящийся в домашнем каталоге пользователя, следующей строки:

"|exec /usr/local/bin/procmail || exit 75"

В этом разделе будут показаны основы настройки правил procmail, а также краткое описание их действия. Эти и другие правила должны быть помещены в файл .procmailrc, который должен находиться в домашнем каталоге пользователя.

Большую часть этих правил также можно найти на странице справочника procmailex(5).

Перенаправление всей почты от <user@example.com> на внешний адрес <goodmail@example2.com>:

:0

* ^From.*user@example.com

! goodmail@example2.com

Перенаправление всей почты объемом меньше 1000 байт на внешний адрес <goodmail@example2.com>:

:0

* < 1000

! goodmail@example2.com

Перенаправление всей почты, отправляемой на <alternate@example.com>, в почтовый ящик alternate:

:0

* ^TOalternate@example.com

alternate

Перенаправление всей почты с ''Spam'' в /dev/null:

:0

^Subject:.*Spam

/dev/null

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

:0

* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG

{

   LISTNAME=${MATCH}

   :0

   * LISTNAME??^\/[^@]+

   FreeBSD-${MATCH}

}


Глава 26.

Сетевые серверы

Краткий обзор

Эта глава посвящена некоторым наиболее часто используемым сетевым службам систем UNIX. Мы опишем, как установить, настроить, протестировать и поддерживать многие различные типы сетевых сервисов. Для облегчения вашей работы в главу включены примеры конфигурационных файлов.

После чтения этой главы вы будете знать:

• Как управлять даемоном inetd.

• Как настроить сетевую файловую систему.

• Как настроить сетевой сервер информации для совместного использования учётных записей пользователей.

• Как настроить автоматическое конфигурирование сетевых параметров при помощи DHCP.

• Как настроить сервер имён.

• Как настроить Apache HTTP сервер.

• Как настроить файловый и сервер печати для Windows клиентов с использованием Samba.

• Как синхронизировать дату и время, а также настроить сервер времени с протоколом NTP.

Перед чтением этой главы вы должны:

• Понимать основы работы скриптов /etc/rc.

• Свободно владеть основными сетевыми терминами.

• Знать как устанавливать дополнительные программы сторонних разработчиков (Гл. 4).

Супер-сервер'' inetd

Обзор

inetd(8) иногда называют также ''супер-сервером Интернет'', потому что он управляет соединениями к многим сервисам. Когда inetd принимает соединение, он определяет, для какой программы предназначено соединение, запускает соответствующий процесс и предоставляет ему сокет, ссылка на который передается процессу в качестве стандартных устройств ввода, вывода и сообщения об ошибках. Для не слишком нагруженных серверов запуск через inetd может уменьшить общую нагрузку на систему по сравнению с запуском каждого даемона индивидуально в выделенном режиме.

В первую очередь inetd используется для вызова других даемонов, но несколько простых протоколов, таких, как chargen, auth и daytime, обслуживаются непосредственно.

Этот раздел посвящен основам настройки inetd посредством его параметров командной строки и его конфигурационного файла, /etc/inetd.conf.

Настройки

inetd инициализируется посредством системы rc(8). Параметр inetd_enable по умолчанию установлен в NO, однако может быть включен утилитой sysinstall в процессе установки. Указание

inetd_enable="YES"

 или

inetd_enable="NO"

 в файле /etc/rc.conf разрешит или запретит запуск inetd во время загрузки. Команда

/etc/rc.d/inetd rcvar

 покажет текущие установки переменных, относящихся к inetd.

Кроме того, через inetd_flags даемону inetd могут быть переданы различные параметры командной строки.

Параметры командной строки

Как и большинство даемонов, для inetd существует большое количество разнообразных опций, изменяющих его поведение. Полный из список таков;

inetd [-d] [-l] [-w] [-W] [-c maximum] [-C rate] [-a address | hostname] [-p filename] [-R rate] [-s maximum] [configuration file]

Опции могут передаваться inetd при помощи переменной inetd_flags файла /etc/rc.conf. По умолчанию переменная inetd_flags установлена в -wW -C 60, то есть включает обработку TCP wrapping и запрещает обращаться с одного IP-адреса к сервису более чем 60 раз в минуту.

Начинающих пользователей порадует отсутствие необходимости менять эти параметры в стандартных случаях. Тем не менее, мы остановимся на опциях, ограничивающих количество и частоту соединений, поскольку они могут быть полезны для исключения массированных атак. Полный список опций можно найти на странице справочника inetd(8).

-c maximum

   Определение максимального числа одновременных запусков каждой службы; по умолчание не ограничено. Может быть переопределено индивидуально для каждой службы при помощи параметра max-child.

-C rate

   Определение по умолчанию максимального количества раз, которое служба может быть вызвана с одного IP-адреса в минуту; по умолчанию не ограничено. Может быть переопределено для каждой службы параметром max-connections-per-ip-per-minute.

-R rate

   Определяет максимальное количество раз, которое служба может быть вызвана в минуту; по умолчанию 256. Частота, равная 0, не ограничивает число вызовов.

-s maximum

   Задает максимальное количество процессов, одновременно обслуживающих один сервис для одного IP-адреса; по умолчанию не ограничено. Может переопределяться для каждой службы параметром max-child-per-ip.

Inetd.conf

Настройка inetd производится через файл /etc/inetd.conf.

Если в файле /etc/inetd.conf делались изменения, то inetd можно заставить считать его конфигурационный файл повторно посредством команды


Дата добавления: 2018-10-26; просмотров: 250; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!