![原因何在?](https://linux22.com/image/748797/%E5%8E%9F%E5%9B%A0%E4%BD%95%E5%9C%A8%EF%BC%9F.png)
我尝试在运行 Raspbian Buster 的树莓派上启动并运行电子邮件服务器。
在我的 postfix 检查中,我收到一个奇怪的通知,通知我有一个符号链接,而这个链接肯定不是我自己创建的。警告是,postfix/postfix-script: warning: symlink leaves directory: /etc/postfix/./makedefs.out
我进行了两次全新安装,认为它可能是恶意的,但每次它都会再次出现,所以我假设它是配置的一部分,或者与 raspberry pi 上的 postfix 版本有特别的关系。
无论如何,运行我的 postfix 检查时会出现以下消息:
sudo postfix check
postfix: Postfix is running with backwards-compatible default settings
postfix: See http://www.postfix.org/COMPATIBILITY_README.html for details
postfix: To disable backwards compatibility use "postconf compatibility_level=2" and "postfix reload"
postfix/postfix-script: warning: symlink leaves directory: /etc/postfix/./makedefs.out
- 有谁知道这个符号链接到底起什么作用以及谁/什么创建了它?
- 这是值得担心的事情吗?
- 我该如何消除 Postfix 检查中的这个错误消息?
答案1
TLDR:这只是一个警告,可以放心忽略。
具体回答你的问题:
有谁知道这个符号链接到底起什么作用以及谁/什么创建了它?
该文件本身只是在您的系统上构建后缀的特定信息。
这个符号链接是在您安装 postfix 时创建的,因此当您使用包管理器安装 postfix 时它也会创建这个符号链接。
这是值得担心的事情吗?
不,目录之外的符号链接被标记为警告的唯一原因
/etc/postfix
是,如果您没想到它出现在那里,它们可能表示存在安全问题,在这种情况下,符号链接是由 Debian 的包管理器创建的,所以没问题。我该如何消除 Postfix 检查中的这个错误消息?
你不需要,或者说你不应该为此烦恼,重要的是要注意,这只是一个警告,不是错误,只要您知道警告意味着什么,您就可以忽略它,现在您知道了,所以您可以。
答案2
原因何在?
这背后的问题是(恕我直言)系统将其检测为 CHROOT 之外的符号链接。对于警告本身,它是正确的!您可以放心地忽略它,或者使用以下解决方法。
作为一种解决方法,将该链接重新创建为硬链接,而不是符号链接(软链接)该文件。
双线:
rm /etc/postfix/makedefs.out
ln /usr/share/postfix/makedefs.out /etc/postfix/makedefs.out
一句话:
rm /etc/postfix/makedefs.out; ln /usr/share/postfix/makedefs.out /etc/postfix/makedefs.out
然后重新运行postfix check
,它就不会再显示该错误。
答案3
此警告是 Debian 特有的,它从版本 3.1.4-2 到 3.6.3-4 都会显示,因此自 Debian 12 bookwoorm 和 Ubuntu 22.04 LTS Jammy Jellyfish 以来已修复此问题。
此警告是无害的,Debian 所做的修复只是隐藏警告。文件 makedefs.out 仅列出了编译 postfix 所用的环境,以帮助提高可重复性。