Россия, Казань, Казанский Национальный Исследовательский Технический Университет |
Почтовые псевдонимы и преобразование адресов
Файл aliases
Все почтовые псевдонимы, используемые программой sendmail, находятся в одном файле с именем aliases. Этот файл обычно находится в каталоге /etc, но его местоположение можно изменить в файле sendmail.cf. В файле aliases описываются псевдонимы, используемые в адресах электронной почты. Описание псевдонима заключается в сопоставлении его с реальным адресом электронной почты, программой или файлом. Каждый псевдоним описывается в отдельной строке. Псевдонимы могут быть заданы в четырех представленных ниже форматах.
Формат 1:
name: name_1, name_2, name_3, ...
Формат 2:
name: | program
Формат 3:
name: file
Формат 4:
name :include :filelist
В первом случае почтовый псевдоним указывает на один или несколько реальных адресов электронной почты. Здесь строка, описывающая псевдоним, интерпретируется следующим образом: name — имя псевдонима, name_1, name_2 ... — адреса электронной почты, на которые пересылается сообщение, если оно было получено на адрес, содержащий псевдоним name. Здесь можно использовать несколько адресов. На каждый из них будет пересылаться копия сообщения.
Второй формат определения псевдонимов предполагает, что псевдоним может указывать на какую-либо программу. То есть при обращении к адресу, который является псевдонимом, будет запускаться определенная программа. Таким образом, аргумент program представляет собой полный путь к выполняемому модулю программы, которая будет заниматься дальнейшей обработкой сообщения. Более подробно работа с этим форматом описана в "Списки рассылки" . Программа для работы со списками рассылки Majordomo широко использует при обработке сообщений именно этот формат.
Третий формат применения псевдонимов предполагает сохранение всех поступивших сообщений в определенный файл. Аргумент file — полный путь к текстовому файлу, в который будут помещаться сообщения. Для обеспечения нормальной работы такой схемы нужно правильно задать права доступа к этому файлу. Чтение и запись должны быть разрешены и в файл, и в каталог, в котором он находится.
Последний формат описания псевдонимов позволяет пересылать принятые сообщения по списку адресов электронной почты, которые содержатся в файле. В этом случае аргумент filelist представляет собой полный путь к файлу, в котором содержится список адресов электронной почты. Описание псевдонимов в этом формате было бы идентично формату 1, если бы вы указали адреса из списка через запятую. Однако этот формат удобно использовать, если требуется оперировать с большими списками адресов, которые к тому же часто меняются.
Соглашения об использовании почтовых псевдонимов
Почтовый псевдоним, представленный в файле aliases в любом из приведенных выше форматов, действителен только для локального сервера электронной почты. То есть вы не можете создавать на локальном сервере псевдоним вида alias@otherhost.com для переадресации почты на удаленный хост. Однако адрес, на который указывает псевдоним, может быть адресом на удаленном почтовом сервере.
В листинге 17.2 приведен пример файла aliases из ОС Mandrake Linux 6.0.
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 18 daemon: root 19 games: root 20 ingres: root 21 nobody: root 22 system: root 23 toor: root 24 uucp: root 25 26 # Well-known aliases. 27 manager: root 28 dumper: root 29 operator: root 30 31 # trap decode to catch security attacks 32 decode: root 33 34 # Person who should get root's mail 35 root: rich 36 37 # Program used to auto-reply to messages 38 auto-test: |/home/rich/auto-test 39 40 # Send all messages to a text file 41 saveme: /home/rich/test.txt 42 43 # Send all messages to remote site 44 rich: rich@othercompany.com 45 46 #Create a simple multi-user mail list 47 officenews: :include:/home/rich/office.txtЛистинг 17.2. Пример файла /etc/aliases
В строках 13–32 листинга 17.2 почта перенаправляется от обычных пользователей ОС Linux, создаваемых при установке операционной системы, пользователю root. Таким образом вы сможете наблюдать за попытками несанкционированного доступа в систему с использованием системных имен. Если идентификаторы этих пользователей не указаны псевдонимами для пользователя root, то все приходящие на них сообщения будут утеряны. В строке 35 указано перенаправление почты с помощью псевдонима от пользователя root администратору сервера. И помните: если вы одновременно являетесь и системным администратором, не стоит очень часто входить в систему в качестве пользователя root. Старайтесь входить в систему под своим именем и лишь при необходимости использовать права пользователя root.
В строке 38 сообщения перенаправляются указанной программе. Чтобы оболочка смогла самостоятельно запустить программу, должен быть описан полный путь к ней. В строке 41 приведен пример назначения псевдонима текстовому файлу, в который будут собраны все сообщения, посланные на адрес-псевдоним. Помните о правильности разрешения прав доступа к файлу, иначе система будет генерировать сообщения о нарушении прав доступа к файлу и не выполнять необходимых действий.
В строке 44 вы видите, как с помощью псевдонима сообщение перенаправляется на удаленный сервер. Как и в случае с использованием файла .forward, можно перенаправить почтовое сообщение пользователю, который имеет учетную запись на другом почтовом сервере. Эти функции могут быть полезны, если пользователь курсирует между несколькими почтовыми серверами в разных филиалах компании или переходит на работу в другую компанию и необходимо какое-то время поддерживать его старую учетную запись.
В строке 47 приведен пример использования в качестве псевдонима файла со списком адресов, по которым осуществляется рассылка. Файл /home/rich/office.txt представляет собой обычный текстовый файл со списком адресов электронной почты, подобный файлу .forward. Когда по адресу, содержащему псевдоним officenews, приходит сообщение, считывается файл office.txt, и копии сообщения рассылаются по адресам, указанным в нем.
Программа newaliases
Администратор почтовой системы описывает псевдонимы в текстовом файле /etc/aliases, но программа sendmail при обработке почты считывает другой файл — /etc/aliases.db. В этом файле псевдонимы хранятся уже в хешированном виде, как и большинство других настроек sendmail, описанных в "Программа sendmail" , "Программа sendmail".
Для создания файла базы данных псевдонимов /etc/aliases.db необходимо запустить программу sendmail с параметром -bi. Когда программа sendmail запущена с этим параметром, она считывает текстовый файл /etc/aliases и автоматически формирует файл базы данных /etc/aliases.db. При установке программы sendmail создается также специальный выполняемый файл newaliases, при запуске которого выполняются действия, аналогичные работе sendmail с параметром -bi. Каждый раз после внесения изменений в текстовый файл /etc/aliases нужно запускать программу newaliases.