首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >后缀Policyd-spf配置中的Python错误:“警告:与服务器私有/策略-spf对话的问题”

后缀Policyd-spf配置中的Python错误:“警告:与服务器私有/策略-spf对话的问题”
EN

Unix & Linux用户
提问于 2020-03-11 09:41:26
回答 1查看 3K关注 0票数 0

在RHEL 8上在后缀3.3.1中实现pypolicyd-spf支持,在/var/log/maillog中遇到以下错误:

代码语言:javascript
复制
spawn[xxxx]: fatal: spawn_comand: execvp /usr/bin/python: No such file or directory
postfix/spawn[xxxx]: warning: command /usr/bin/python exit status 1
spawn[xxxx]: fatal: spawn_comand: execvp /usr/bin/python: No such file or directory
postfix/spawn[xxxx]: warning: command /usr/bin/python exit status 1
postfix/smtpd[xxxx]: warning: problem talking to server private/policyd-spf: Connection reset by peer

不能成为路径问题,因为用户后缀没有路径:

代码语言:javascript
复制
$ getent passwd postfix
postfix:x:89:89::/var/spool/postfix:/sbin/nologin

,你在哪里修这个?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-03-11 09:41:26

问题:

起初,脸红似乎是路径问题,但事实并非如此。Policyd需要一个正确的绝对路径才能在master.cf配置的后缀中找到Python。

我最初使用的路径--我相信我是从‘HowTo’某个地方复制的--在master.cf集成中是:

代码语言:javascript
复制
policyd-spf unix - n n - 0 spawn user=nobody argv=/usr/bin/python /usr/libexec/postfix/policyd-spf

已接近,但没有雪茄:提供给argv的Python路径不包括版本号,因此错误被抛出。

解决方案:

首先:找到Python所在的位置。在RHEL 8.1中,我看到:

代码语言:javascript
复制
whereis python
python: /usr/bin/python3.6 /usr/bin/python3.6m /usr/lib/python3.6 /usr/lib64/python3.6 /usr/include/python3.6m /usr/share/man/man1/python.1.gz

第二:在/etc/postfix/master.conf中的Policyd配置中为Python提供正确的绝对路径:

代码语言:javascript
复制
policyd-spf unix - n n - 0 spawn user=nobody argv=/usr/bin/python3.6 /usr/libexec/postfix/policyd-spf

最后,重新启动后缀:

代码语言:javascript
复制
systemctl restart postfix

结论:

不要追逐你的尾巴调查路径问题,这也不是一个特定于RHEL 8的问题。故障将隐藏在master.cf中的Policyd-spf配置中指定的Python绝对路径中。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/572299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档