Настройка Postfix для обслуживания одного домена – дело нескольких минут. Независимо от того, какую конфигурацию вы планируете в дальнейшем, на первом этапе всегда начинайте с конфигурации для единственного домена: так вы сможете убедиться, что Postfix работает в наиболее простом варианте.
В этой главе приведен минимальный набор параметров, необходимых Postfix для начала работы, и показано, как сопоставить длинным адресам электронной почты короткие имена пользователей в конфигурации для одного домена.
В этой главе мы будем настраивать Postfix для приема почты единственного домена. Наш компьютер будет называться mail.example.com, а домен – example.com. Выполним следующие шаги:
1. Настроим в Postfix корректное имя хоста в приветствии почтовых клиентов. 2. Настроим Postfix на прием почты для домена example.com. 3. Настроим Postfix на добавление example.com к сообщениям, отправленным только с именем пользователя. 4. Настроим Postfix на доставку почты, адресованной пользователю root, в другой почтовый ящик. 5. Настроим Postfix на доставку почты различным пользователям в соответствии с указанным адресом. 6. Установим для Postfix разрешение на пересылку исходящей почты вашей сети.
Для локальных клиентов Postfix будет служить ретранслятором – в том смысле, что он будет принимать почту для тех доменов, в которых он не является конечным или промежуточным сервером. Все, что вам нужно сделать в конфигурации с одним доменом, – это задать значение параметра mydestination.
Примечание Устанавливая значение параметра mydestination, вы можете задать место на значения явно (например, mydestination =mail.example.com) или, используя обозначение $parameter, сослаться на значения других параметров. Жестко заданные значения сильно затрудняют изменение конфигурации, т. к. приходится редактировать множество параметров, что с учетом опечаток и других свойственных человеку ошибок делает такой способ ненадежным. Мы не рекомендуем явное задание значений.
Когда локальная программа, такая как cron, at или работающий в командной строке почтовый клиент, отправляет почту, она обычно не указывает полный адрес отправителя или получателя, ограничиваясь именем пользователя. Это вполне допустимо для локальных адресатов, но при отправке сообщения на другой хост возникает проблема.
Выяснение того, откуда пришло сообщение, занимает довольно много времени, а в случае отсутствия на указанном хосте нужного адресата принимающий почтовый сервер не сможет вернуть сообщение.
У Postfix есть параметр, значение которого добавляется к адресу отправителя или получателя, если он указан не полностью: myorigin. Как и раньше, вы можете ссылаться на параметры, ранее определенные в main.cf:
Postfix доставляет почту непосредственно локальным пользователям, включая и пользователя root, но в процессе доставки внешние про граммы не смогут получить привилегии root. Это означает, что вы не можете использовать локальные агенты доставки (LDA – local delivery agents), такие как procmail или maildrop, для доставки почты пользователю root, т. к. Postfix не будет запускать их с привилегиями root.
Вместо этого он запустит их с привилегиями default_privs, по умолчанию соответствующими привилегиям пользователя nobody. Такая мера предосторожности предусмотрена для того, чтобы никоим образом не скомпрометировать учетную запись суперпользователя, запуская с его привилегиями уязвимые внешние программы. Но это не значит, что пользователю root нельзя доставить адресованные ему сообщения. Решение заключается в создании отдельного пользователя с обычными низкими привилегиями и перенаправлении ему адресованных супер пользователю сообщений.