Postfix: Всегда ли always_bcc отправляется как nobody?

Вопрос или проблема

Пытаюсь использовать always_bcc для его наиболее распространенного использования: архивирование почты.

always_bcc = mailarchive@localhost 

Это не удается из-за ошибок доступа.

 postfix/local[2798499]: warning: maildir access problem for UID/GID=65534/65534: create maildir file {$HOMEDIR}1732630339.P2798499.{$HOSTNAME} Permission denied

Это показывает, что демон ‘local’ правильно вызывается.

Чтобы все ‘работало’, мне пришлось использовать этот хак, который не идеален, так как он ограничивает postfix поставкой только одному пользователю локально следующим образом:

always_bcc = mailarchive@localhost
default_privs = mailarchive

псевдонимы:

postmaster:    root
mailarchive:    /mnt/archive/mail/

Почему postfix не может найти моего пользователя и продолжает доставлять как nobody, если я не принудительно не переопределю это? Пользователь mailarchive существует локально. Письма попадают в /mnt/archive/mail/. Что еще нужно, чтобы их добавить?

Если мне действительно нужно сообщить postfix, что mailarchive@localhost — это пользователь linux mailarchive на localhost… то где?

Ответ или решение

Вопрос, который вы подняли, касается конфигурации Postfix в контексте использования параметра always_bcc для архивирования почты. Давайте разберем вашу ситуацию более подробно.

Проблема с always_bcc

Вы пытаетесь настроить Postfix так, чтобы он отправлял все входящие сообщения на адрес mailarchive@localhost, однако сталкиваетесь с проблемами доступа, что проявляется в ошибках, связанных с правами:

postfix/local[2798499]: warning: maildir access problem for UID/GID=65534/65534: create maildir file {$HOMEDIR}1732630339.P2798499.{$HOSTNAME} Permission denied

Ваша текущая настройка always_bcc = mailarchive@localhost приводит к тому, что Postfix использует пользователя nobody, у которого нет прав на запись в директорию назначения для архивированной почты.

Причины проблемы

  1. Идентификация пользователя: По умолчанию, если Postfix не может определить правильные права доступа для указанного в always_bcc адреса, он использует UID/GID пользователя nobody, что и приводит к проблемам с доступом. Это связано с тем, что Postfix должен знать, какому пользователю соответствует адрес электронной почты, чтобы использовать соответствующие права доступа.

  2. Настройки aliases: Вы уже указали, что у вас существует почтовый пользователь mailarchive, который настроен в файле aliases. Однако, чтобы Postfix мог корректно связать адрес mailarchive@localhost с соответствующим пользователем и его правами, необходимо убедиться, что система знает о существовании этого пользователя.

Решение проблемы

Учитывая ваше описание, вот несколько шагов, которые вы можете предпринять для решения этой проблемы:

  1. Настройка пользовательских прав: Убедитесь, что пользователь mailarchive имеет права на запись в директорию /mnt/archive/mail/. Это можно проверить с помощью команд:

    ls -ld /mnt/archive/mail/

    Если права недостаточны, измените их, используя команду chown или chmod:

    chown mailarchive:mailarchive /mnt/archive/mail/
    chmod 700 /mnt/archive/mail/
  2. Проверка файла aliases: Вам нужно убедиться, что ваш файл aliases правильно настроен и протестировать его:

    postalias /etc/aliases
    newaliases
  3. Указание default_privs: Вы уже упомянули, что использовали параметр default_privs. Это полностью допустимый подход:

    always_bcc = mailarchive@localhost
    default_privs = mailarchive

    Тем не менее, это действительно ограничивает почтовую систему. Старайтесь использовать этот подход только в том случае, если другие варианты не работают.

  4. Использование параметров конфигурации: Проверьте, есть ли у вас директива transport_maps, которая может указать, куда направлять почту для mailarchive@localhost. Возможно, вам также стоит рассмотреть использование virtual_alias_maps.

  5. Логи Postfix: Проверяйте логи Postfix для дополнительной информации о том, что происходит во время обработки почты. Логи могут дать подсказки о том, почему возникла ошибка.

Заключение

Ваша проблема с отправкой почты на mailarchive@localhost, связанная с использованием UID/GID nobody, вероятно происходит из-за отсутствия соответствующей конфигурации и прав доступа. Убедитесь, что пользователь mailarchive имеет необходимые права и что все конфигурации Postfix корректно определяют, какой пользователь будет ответственен за обработку почты.

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

Оцените материал
Добавить комментарий

Капча загружается...