Назад | Перейти на главную страницу

/ etc / aliases против virtusertable

У меня есть почтовый сервер, на котором работает Sendmail, на котором размещено несколько почтовых доменов. Так, например, электронные письма, адресованные @ aaa.com и @ bbb.com, отправляются на один и тот же сервер. Все это время я использую /etc/mail/virtusertable для управления сопоставлением разных пользователей разных почтовых доменов с разными локальными учетными записями.

Но теперь я только что узнал /etc/aliases может делать то же самое.

Я поискал в Интернете, но не нашел ни одного сайта, который бы очень подробно сравнивал различия.

Ключевые различия между virtusertable и псевдонимами в sendmail

virtusertable обеспечивает соответствие адреса получателя один в один. aliases обеспечить отображение "один ко многим" (удобно для списков рассылки).

aliases сопоставить получателя "без домена" (получатели в локальных доменах электронной почты с удаленной доменной частью электронной почты). virtusertable отображает полный адрес получателя.

virtusertable обрабатывает переназначение «всех остальных / оставшихся адресов в домене электронной почты».

Отображение "виртуальный псевдоним" может использоваться для получения сопоставления "один ко многим".


Подсказка уровня мастера: Можно заставить sendmail.cf обрабатывать псевдонимы для полных писем (пользовательская часть и домен), но sendmail.cf, созданный с использованием файлов m4, предоставленных sendmail.org, не обрабатывает его. Внедрение не будет очень сложным, но ИМХО некоторые неожиданные "побочные эффекты" гарантированы => надлежащий период тестирования будет ДЛИННЫЙ.

Короткий ответ:

Псевдонимы - это процесс преобразования одного имени локального получателя в системе в другое и Псевдонимы возникают только в местных именах. Это означает, что username должен быть доступен через Getpwnam из базы паролей:

например, локальный файл паролей / etc / passwd, NIS и LDAP.

Sendmail virtusertable функция включает поддержку виртуальных пользователей, то есть отображает несистемных пользователей.


Я процитировал следующее из Вот. Очень хорошо объяснено, пожалуйста, посмотрите.

/ etc / mail / псевдонимы

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

root: localuser
ftp-bugs: joe,eric,paul
bit.bucket:  /dev/null
procmail: "|/usr/local/bin/procmail"

Имя почтового ящика в левой части двоеточия расширяется до цели (ей) справа. Первая запись расширяет корневой почтовый ящик до почтового ящика локального пользователя, который затем просматривается в базе данных / etc / mail / aliases. Если совпадений не найдено, сообщение доставляется локальному пользователю. Вторая запись показывает список рассылки. Почта для ftp-bugs расширена до трех локальных почтовых ящиков: joe, eric и paul. Удаленный почтовый ящик можно указать как user@example.com. Третья запись показывает, как писать почту в файл, в данном случае / dev / null. Последняя запись демонстрирует, как отправлять почту программе / usr / local / bin / procmail через канал UNIX®. Обратитесь к aliases (5) для получения дополнительной информации о формате этого файла.

/ и т.д. / mail / virtusertable

Этот файл базы данных сопоставляет почтовые адреса виртуальных доменов и пользователей с реальными почтовыми ящиками. Эти почтовые ящики могут быть локальными, удаленными, псевдонимами, определенными в / etc / mail / aliases, или файлами. Это позволяет размещать несколько виртуальных доменов на одном компьютере.

В следующем примере показано, как создавать пользовательские записи с использованием этого формата:

root@example.com                root
postmaster@example.com          postmaster@noc.example.net
@example.com                    joe

Этот файл обрабатывается в порядке первого совпадения. Когда адрес электронной почты совпадает с адресом слева, он сопоставляется с локальным почтовым ящиком, указанным справа. Формат первой записи в этом примере сопоставляет конкретный адрес электронной почты с локальным почтовым ящиком, тогда как формат второй записи сопоставляет конкретный адрес электронной почты с удаленным почтовым ящиком. Наконец, любой адрес электронной почты с example.com, который не соответствует ни одной из предыдущих записей, будет соответствовать последнему сопоставлению и будет отправлен в локальный почтовый ящик joe.

А теперь чуть более подробные ответы на ваши вопросы:

  • Файл базы данных псевдонимов содержит список виртуальных почтовых ящиков, расширенных до пользователей, файлов, программ или других псевдонимов.
  • Этот файл базы данных виртуальных пользователей сопоставляет почтовые адреса виртуальных доменов и пользователей с реальными почтовыми ящиками. Эти почтовые ящики могут быть локальными, удаленными, псевдонимами, определенными в / etc / mail / aliases, или файлами. Это позволяет размещать несколько виртуальных доменов на одном компьютере.
  • С другой стороны, виртуальная функция sendmail настраивает поддержку таблицы виртуальных пользователей. Таблица виртуальных пользователей отображает входящую почту, предназначенную для someuser @ host к someotheruser @ otherhost. Это можно рассматривать как расширенную функцию почтового псевдонима, которая работает не только с пользователем назначения, но и с доменом назначения. Ключевая часть (слева) должна быть либо полным адресом (имя пользователя, хоста и доменное имя), либо адресом без части хоста (просто домен).

Главное отличие, которое я помню, состоит в virtusertable может содержать домен информация, а также пользователь Информация; то есть; foo@example.com и foo@example.co.uk оба действительны и отчетливый левые части в virtusertable, но используются вместе в aliases они произведут duplicate alias name ошибка.

Это по-прежнему оставляет целую группу записей, которые могут законно войти в нее; я считаю, что нужно использовать aliases везде, где возможно, оставляя virtusertable для тех вещей, которые относятся к предметной области.

bangal (q.v.) отмечает некоторые более важные различия, например, возможность отправлять электронную почту в каналы и файлы.

Попробуй это:

Если ваш MTA-сервер является основным MX для группы ДОМЕНОВ, вы маршрутизируете их через virtusertable. Virtusertable позволяет вам отбирать отдельные электронные письма назначения, такие как «abuse @ ...» и «postmaster @», и пересылать все остальное в один почтовый ящик или на другой сервер полностью с другим именем, но сохраняя все, что осталось от '@' нетронутым. . Например:

    abuse@xyz.com:         helpdesk                   <--- which could be in /etc/aliases to a list
    postmaster@xyz.com:    adminteam@vendor.xyz       <--- specific destination
    @xyz.com:              %1@customer2.server.com    <--- route everything else to another host`

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

    root:       sa@system.com           <--- route all root mail to sysadmin
    sales:      jdoe,mdoe,sone,mike@somewhere.com,sally@elsewhere.com  <-- to a list
    nobody:     /dev/null               <--- anything sent to "nobody" disappears forever

Псевдонимы не очень хороши для обработки нескольких доменов, с другой стороны, virtusertable очень хорош в этом.

Вам нужно будет настроить соответствующие записи MX и т. Д.

Привет, Дэвид