在RHEL 8上在后缀3.3.1中实现pypolicyd-spf支持,在/var/log/maillog中遇到以下错误:
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不能成为路径问题,因为用户后缀没有路径:
$ getent passwd postfix
postfix:x:89:89::/var/spool/postfix:/sbin/nologin发布于 2020-03-11 09:41:26
起初,脸红似乎是路径问题,但事实并非如此。Policyd需要一个正确的绝对路径才能在master.cf配置的后缀中找到Python。
我最初使用的路径--我相信我是从‘HowTo’某个地方复制的--在master.cf集成中是:
policyd-spf unix - n n - 0 spawn user=nobody argv=/usr/bin/python /usr/libexec/postfix/policyd-spf已接近,但没有雪茄:提供给argv的Python路径不包括版本号,因此错误被抛出。
首先:找到Python所在的位置。在RHEL 8.1中,我看到:
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提供正确的绝对路径:
policyd-spf unix - n n - 0 spawn user=nobody argv=/usr/bin/python3.6 /usr/libexec/postfix/policyd-spf最后,重新启动后缀:
systemctl restart postfix不要追逐你的尾巴调查路径问题,这也不是一个特定于RHEL 8的问题。故障将隐藏在master.cf中的Policyd-spf配置中指定的Python绝对路径中。
https://unix.stackexchange.com/questions/572299
复制相似问题