he configuradoSufijousarPalomar SASLconPAMy usuarios de Unix, y Dovecot LDA (LMTP) para almacenamiento de buzones de correo local. Después de algunas pruebas, resulta que el correo entrante se rechaza por el siguiente motivo:
Error: la búsqueda de passdb falló para [usuario]: los passdb configurados no admiten búsquedas de credenciales
Esto es a la vez problemático y preocupante: opté por la autenticación basada en PAM porque todas las fuentes que encontré sugirieron que es la forma más simple y confiable. Es difícil para mí solucionar lo que está mal en este momento; no estoy seguro de si realmente es un problema con PAM o si hay algún problema con mi configuración.
Registros
La doveadm
prueba de búsqueda:
$ doveadm auth lookup [user]
Error: passdb lookup failed for [user]: Configured passdbs don't support credentials lookups
Registro de depuración de Dovecot después de la prueba de búsqueda:
$ cat /var/log/dovecot/dovecot-debug.log | tail -5
[date][time] auth: Debug: master in: PASS 1 [user] service=doveadm debug
[date][time] auth: Debug: pam([user]): Performing passdb lookup
[date][time] auth: Debug: pam([user]): passdb doesn't support credential lookups
[date][time] auth: Debug: pam([user]): Finished passdb lookup
[date][time] auth: Debug: passdb out: FAIL 1 reason=Configured passdbs don't support credentials lookups
Configuración relevante
El /etc/dovecot/conf.d/10-auth.conf
archivo:
auth_username_format = %Ln
auth_mechanisms = plain login
!include auth-system.conf.ext
El /etc/dovecot/conf.d/auth-system.conf.ext
archivo:
passdb {
driver = pam
args = session=yes failure_show_msg=yes dovecot
}
userdb {
driver = static
args = uid=vmail gid=vmail home=/var/vmail/%n
}
El /etc/pam.d/dovecot
archivo es el predeterminado que viene con el paquete Dovecot de Rocky Linux (que es igual a RHEL y es igual a Fedora):
#%PAM-1.0
auth required pam_nologin.so
auth include password-auth
account include password-auth
session include password-auth
Sin embargo, también probé la configuración sugerida por el funcionario.Documentación de Dovecot PAMy no arrojó ningún resultado diferente. Confío en el resto de mi configuración, ya que pasé un tiempo considerable estudiando las opciones, pero todavía apenas entiendo la configuración de PAM...
Todos los registros apuntan a que el problema está en el propio Dovecot SASL, no en la configuración de Postfix o Dovecot. Cualquier sugerencia sería muy apreciada.
Respuesta1
No tengo idea si esta es la solución adecuada al problema (ahora vuelvo y leocomentario de anxen mi publicación original me hace preguntarme si lo es), pero logré que tanto la búsqueda como la autenticación funcionaran agregando una segunda passdb
entrada a la configuración de Dovecot.
En la configuración Dovecot, precedí alBase de datos de contraseñas PAMentrada con uncontraseñabase de datos de contraseñasentrada:
# e.g. /etc/dovecot/conf.d/auth-system.conf.ext
passdb { # This is not a typo
# Passwd can be used both as a passdb and a userdb
driver = passwd
}
passdb {
driver = pam
args = dovecot
}
Esto hace que las búsquedas de usuarios sean doveadm auth lookup [user]
exitosas. sin embargo, elcontraseñala base de datos no puedeautenticarusuarios, ya que las contraseñas ya no se almacenan en el /etc/passwd
archivo en los sistemas Unix. Cuando eso sucede, la búsqueda continúa con la base de datos de contraseñas PAM, que autentica correctamente al usuario. Esto se puede probar con el doveadm auth test [user]
comando.
Agregué esto como una respuesta aceptada, porque la solución/solución alternativa actualmente funcionó para mí. Si alguien tiene alguna sugerencia o sabe cómo se podría resolver esto de una mejor manera, estaré encantado de aceptarla. Siendo solo la base de datos PAM la configuración predeterminada enLinux rocoso(prácticamente RHEL), me sorprende que no funcione de inmediato.