Postfix Policyd-spf 구성의 Python 오류: "경고: 서버 private/policyd-spf와 통신하는 데 문제가 있습니다."

Postfix Policyd-spf 구성의 Python 오류: "경고: 서버 private/policyd-spf와 통신하는 데 문제가 있습니다."

pypolicyd-spfPostfix 3.3.1에서 지원 구현RHEL 8, 다음 오류가 발생했습니다 /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

이 문제는 어디서 해결하나요?

답변1

질문:

언뜻 보면 경로 문제인 것처럼 보이지만 그렇지 않습니다.전략 spf하나 필요해옳은Python의 절대 경로를 찾으십시오.접미사구성 중 master.cf.

나의 첫 여행——온라인 어딘가에 있는 HowTo에서 복사한 것 같습니다.- 통합된 내용 master.cf은 다음과 같습니다.

policyd-spf unix - n n - 0 spawn user=nobody argv=/usr/bin/python /usr/libexec/postfix/policyd-spf

닫히지만 시가가 없습니다. 제공된 Python 경로에 argv버전 번호가 포함되어 있지 않으므로 오류가 발생합니다.

해결책:

첫 번째: 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

두번째: 하나 공급옳은파이썬 절대 경로전략 spf구성 /etc/postfix/master.conf:

policyd-spf unix - n n - 0 spawn user=nobody argv=/usr/bin/python3.6 /usr/libexec/postfix/policyd-spf

마침내, Postfix를 다시 시작하세요:

systemctl restart postfix

결론적으로:

경로 문제를 추구하지 마세요. 특정 문제가 아닙니다.RHEL 8누구나. 지정된 Python 절대 경로에서 오류가 숨겨집니다.전략 spf에서 구성master.cf

관련 정보