我已经重新阅读了关于这个的文档以及这里的其他帖子,这对我来说仍然很不清楚。我一直在测试各种事物理解之间的区别alias_maps,并virtual_alias_maps和我没有看到后缀使用这2个单独的设置。这是我到目前为止发现的(注意 - 我在与我的 Web 服务器相同的服务器中使用 postfix 作为空客户端来仅发送电子邮件):
1) /etc/aliases 文件:
root: me@somedomain.com
Run Code Online (Sandbox Code Playgroud)
当我将上述内容添加到alias_maps. 但是,我也注意到一些其他服务(如mail命令)不尊重这一点,并尝试将电子邮件直接发送到不存在的 root@mydomain.com(我认为myorigin这是添加@mydomain.com的后缀设置) . 为了解决这个问题,我然后添加了virtual_alias_maps
2) /etc/postfix/virtual
root me@someotherdomain.com
Run Code Online (Sandbox Code Playgroud)
添加上述内容后,所有服务都使用此虚拟别名电子邮件。我还注意到,一旦我添加了上述内容,即使fail2ban 也开始忽略我在/etc/aliases/文件中的初始设置并开始遵循虚拟文件中给出的电子邮件地址。
现在这让我更加困惑——
/etc/aliases/当虚拟别名映射中的电子邮件似乎覆盖它时,为什么我们需要?
拥有这两个单独的别名映射的目的是什么,我们何时决定何时使用什么?
为什么fail2ban(配置为发送到root@localhost)首先遵循alias_maps(/etc/aliases/) 中给出的电子邮件地址,然后决定忽略virtual_alias_maps添加过的那个地址?
为什么并非所有服务都读取 /etc/aliases 中提到的电子邮件别名,而它们仅在将电子邮件别名添加到虚拟别名映射中时才起作用?
从昨天开始,我已经花了几个小时,但仍然不确定。有人可以帮我清除我的困惑吗?
编辑:
这是使用mail root命令将电子邮件发送到 root 时的邮件日志。在 /etc/aliases/ 中提到了 root 的别名电子邮件。但是直到我将此根别名电子邮件从 移动aliases_maps到virtual_aliases_maps
在提及根电子邮件别名时记录/etc/aliases/:
Nov 14 16:39:27 Debian postfix/pickup[4339]: 0F12643432: uid=0 from=<root> …Run Code Online (Sandbox Code Playgroud)