
Tengo usuarios en base de datos externa. Hasta ahora (ssh, postfix, dovecot y algunos otros) utilizan entradas sin problemas.
Tengodirecciones de correoadentro/Usuario doméstico]y si el homedir existe, todo está bien, enviando, recibiendo.
Si homedir no existePostfijo/Palomarimprime error, ssh - después de iniciar sesión se genera un nuevo directorio de inicio creado - utilizapam_mkhomedir.soentrada en /etc/pam.d/[en pocos archivos].
Postfijo/Palomar- utilizar con éxitopam.dcon el backend de la base de datos pero ignora las entradas conpam_mkhomedir- He leído muchos consejos sobre en qué archivo y en qué posición colocarlo.
¿Quizás sea una cuestión de nombrar el archivo /etc/pam.d/[archivo]?
Respuesta1
Postfix no es responsable de la creación de directorios personales. Postfix asume que los directorios de inicio ya existen cuando se utiliza el agente de entrega integrado local
.
Si, en cambio, utiliza Dovecot como LDA, Dovecot también dependerá del hecho de que exista el directorio de inicio.
Con los usuarios virtuales puedes configurar la variable lda_mailbox_autocreate = yes
para que Dovecot cree automáticamente los directorios necesarios.
Y como Dovecot (y Postfix) no "inician sesión" con un usuario para la entrega de correo, pam_mkhomedir
nunca se activa. En este caso, PAM sólo se utiliza para la autenticación.
Respuesta2
Solo para beneficio de otros que se topan con esto al buscar en Google el problema de Dovecot como acabo de hacer: Dovecot se puede utilizar pam_mkhomedir
si lo configura de esa manera. La documentación está enhttp://wiki2.dovecot.org/PasswordDatabase/PAM#PAM_sessions
En un sistema Debian/Ubuntu típico, puedes poner esto en /etc/pam.d/dovecot
:
#%PAM-1.0
@include common-auth
@include common-account
@include common-session
(El mkhomedir
módulo se invoca dentro common-session
)
Y luego edite /etc/dovecot/conf.d/auth-system.conf.ext
en la sección que dice:
passdb {
driver = pam
# [session=yes] ...
#args = dovecot
}
para que args
digan:
args = session=yes dovecot