pypolicyd-spf
Postfix 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