Errores de Python en la configuración de Postfix Policyd-spf: "advertencia: problema al hablar con el servidor privado/policyd-spf"

Errores de Python en la configuración de Postfix Policyd-spf: "advertencia: problema al hablar con el servidor privado/policyd-spf"

Implementación pypolicyd-spfde soporte en Postfix 3.3.1 enRHEL 8, encontré el siguiente error en /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

No puede ser un problema de ruta porque el usuariosufijono tiene camino:

$ getent passwd postfix
postfix:x:89:89::/var/spool/postfix:/sbin/nologin

¿Dónde arreglas esto?

Respuesta1

PROBLEMA:

A primera vista, parecía ser un problema de ruta, pero no lo era.spf políticorequiere unCORRECTOruta absoluta para encontrar Python dentroSufijoen la master.cfconfiguración.

El camino que tuve inicialmente-Creo que lo copié de algún tutorial en algún lugar de la red.- en la master.cfintegración fue:

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

Estuvo cerca, pero no fue un cigarro: la ruta a Python proporcionada argvno incluía el número de versión, por lo que se estaban vomitando errores.

SOLUCIÓN:

Primero: Encuentra dónde vive Python. EnRHEL 8.1, Veo:

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

Segundo: Suministre unCorrectoruta absoluta a Python en elspf políticoconfiguración en /etc/postfix/master.conf:

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

Finalmente, reinicie Postfix:

systemctl restart postfix

CONCLUSIÓN:

No persigas tu cola investigando problemas de ruta, y este no es un problema específico deRHEL 8cualquiera. La falla quedará enterrada en la ruta absoluta a Python especificada en elspf políticoconfigurar enmaster.cf

información relacionada