
Я настроил почтовую систему в моем Debian VPS. Все работает гладко, за исключением того, что я не могу отправить письмо пользователю root
.
Есть обходной путь, указав /etc/aliases
что-то вроде
root: <some_other_user>
Тогда все письма, адресованные этому человеку, root@<fqdn>
будут попадать в <some_other_user>@<fqdn>
почтовый ящик.
С точки зрения безопасности это даже лучше, но мне интересно, есть ли способ отправлять электронные письма пользователю root
.
Так да, возможно ли это технически с Postfix? Если да, то как это сделать?
ОБНОВЛЯТЬ:
Вот postfix.service
логи:
Apr 26 22:18:25 <hostname><fqdn> postfix/qmgr[2375]: 3905421760: from=<ddnomad@<fqdn>>, size=631, nrcpt=1 (queue active)
Apr 26 22:18:26 <hostname><fqdn> postfix/local[2429]: 3905421760: to=<mailuser@<fqdn>>, orig_to=<root@<fqdn>>, relay=local, delay=1.3, delays=0.21/0.01/0/1, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
Насколько я понимаю, это означает, что письмо было успешно отправлено. Но оно так и не было доставлено в root
почтовый ящик .
решение1
postfix использует procmail
, для доставки электронной почты, а поскольку postfix
вызывается procmail
, работающий nobody
по соображениям безопасности, то отправленные электронные письма root
в конечном итоге будут отправлены пользователю nobody
.
Списки рассылки Debian объясняют это лучше меняи предложить обходной путь:
Собственный агент доставки postfix может доставлять почту в почтовый ящик пользователя root, но postfix НИКОГДА не будет выполнять форк внешней программы (например, procmail) от имени пользователя root. Он либо меняет UID на владельца доставляемой почты, либо, если этот пользователь — root, он меняет UID на nobody.
поэтому procmail запускается от имени nobody при доставке почты root.
Я обхожу эту проблему, просто создавая символическую ссылку /var/spool/mail/root на /var/spool/mail/nobody — тогда я смогу читать почту root как root.
Обратите внимание, что это НЕ рекомендуемый способ — большинство людей порекомендуют вам перенаправлять почту root другому пользователю в /etc/aliases.
Далее в теме они также вспоминаютpostfix
FAQ о root-почте:
Если вы используете procmail (или какую-то другую команду) для локальной доставки почты, Postfix не будет доставлять почту как root. Вместо этого Postfix запускает procmail (или что-то еще) как nobody. Возможно, когда-нибудь Wietse будет доверять Postfix настолько, чтобы запускать внешние команды как root. Решение: так же, как вы не должны входить в систему как root (за исключением необычных ситуаций), вы не должны получать почту как root.
Создайте почтовый псевдоним для пользователя root, который будет пересылать почту реальному пользователю.