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