我已經使用 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 不會知道帳號已被鎖定;它會認為它根本不存在。