Dovecot — исключить заблокированные учетные записи LDAP

Dovecot — исключить заблокированные учетные записи LDAP

Я установил Dovecot с LDAP; все работает нормально, за исключением того, что пользователи, которых я пытался заблокировать, pwdAccountLockedTimeпо-прежнему могут войти в систему.

Вот мой файл 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

Как я могу гарантировать, что пользователи с этим pwdAccountLockedTimeатрибутом будут игнорироваться?

решение1

Добавьте его в фильтр поиска. Используйте (attr=*)для проверки существования атрибута и (!...)для отмены фильтра (т.е. проверки на несуществование).

(&(objectclass=inetOrgPerson)(mail=%u)(!(pwdAccountLockedTime=*)))

Расширенная версия:

(&
  (objectclass=inetOrgPerson)
  (mail=%u)
  (!
    (pwdAccountLockedTime=*)
  )
)

Примечание: Dovecot не будет знать, что учетная запись заблокирована; он будет думать, что ее вообще не существует.

Связанный контент