Dovecot - 排除 LDAP 锁定帐户

Dovecot - 排除 LDAP 锁定帐户

我已经安装了带有 LDAP 的 Dovecot;除了我尝试锁定的用户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 不会知道该帐户已被锁定;它会认为该帐户根本不存在。

相关内容