He instalado Dovecot con LDAP; Todo funciona bien, excepto que los usuarios que intenté bloquear pwdAccountLockedTime
aún pueden iniciar sesión.
Aquí está mi archivo ldap.conf.ext:
hosts = myldap
dn = cn=admin,dc=home,dc=com
dnpass = mysecret
#auth_bind = no
ldap_version = 3
base = ou=People,dc=home,dc=com
deref = never
scope = subtree
user_attrs =
user_filter = (&(objectclass=inetOrgPerson)(mail=%u)
pass_attrs = mail=user,userPassword=password
pass_filter = (&(objectclass=inetOrgPerson)(mail=%u))
default_pass_scheme = PLAIN
¿Cómo puedo asegurarme de que pwdAccountLockedTime
se ignoren los usuarios con el atributo?
Respuesta1
Agréguelo al filtro de búsqueda. Se utiliza (attr=*)
para comprobar la existencia del atributo y (!...)
para negar un filtro (es decir, comprobar su inexistencia).
(&(objectclass=inetOrgPerson)(mail=%u)(!(pwdAccountLockedTime=*)))
Versión ampliada:
(&
(objectclass=inetOrgPerson)
(mail=%u)
(!
(pwdAccountLockedTime=*)
)
)
Nota: Dovecot no sabrá que la cuenta está bloqueada; pensará que no existe en absoluto.