Openldap設置olcOverlay:ppolicy
**問題:**為什麼我無法將對像類 pwdPolicy 添加到 cn=PasswordDefaults?
背景資料
我是 LDAP 新手,我正在網上學習各種教程和其他技巧,以創建一個目錄來為我處理使用者資訊。我正在嘗試創建一個包含使用者資訊並執行密碼策略的 LDAP 伺服器。為了實現這一點,我認為我需要將 pwdPolicy 對像類添加到 ou=Policies 到執行 2.4.40 的 LDAP 伺服器中。我鬆散地遵循這些教程:
{ Password Policy tutorial: https://tobrunet.ch/articles/openldap-password-policy-overlay/, Getting started with OpenLDAP and CentOS7: https://www.server-world.info/en/note?os=CentOS_7&p=openldap&f=1, Default and User Specific Password Policy: http://www.zytrax.com/books/ldap/ch6/ppolicy.html }
我有一個這樣的目錄:
-> Root stuff -> dc=example,dc=com -> cn=Manager (The olcRootDN) -> ou=User -> *Several entries with objectClasses {posixAccount, shadowAccount, inetOrgPerson}* -> ou=Policies (Not sure if this is here because not visible in Apache Directory Studio) -> cn=passwordDefault
這是我嘗試使用 ppolicy 所做的工作。
步驟 1-3 鬆散地遵循*OpenLDAP with OLC部分OpenLDAP 密碼策略覆蓋中的命令*
**第 1 步:**使用以下命令將 ppolicy 模式載入到 OLC:
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif
**Step 1的理解:**在/…/slap.d/cn=config/cn=schema中添加cn={5}ppolicy.ldif
**第 2 步:**使用以下命令載入模組:
ldapadd -D "cn=config" -W -f addPpolicyOverlay.ldif
addPpolicyOverlay.ldif 的內容
dn: cn=module{0},cn=config objectClass: olcModuleList cn: module{0} olcModuleLoad: ppolicy.la
**第2步的理解:**在/…/slapd.d/cn=config中添加cn=module{0}.ldif。
**第 3 步:**使用以下命令配置 ppolicy 覆蓋:
ldapadd -D "cn=config" -W -f configurePpolicyOverlay.ldif
configurePpolicyOverlay.ldif 的內容
dn: olcOverlay=ppolicy,olcDatabase={2}hdb,cn=config objectClass: olcOverlayConfig objectClass: olcPPolicyConfig olcOverlay: ppolicy olcPPolicyDefault: cn=passwordDefault,ou=Policies,dc=example,dc=com olcPPolicyHashCleartest: FALSE olcPPolicyUseLockout: FALSE olcPPolicyForwardUpdates: FALSE
**第三步的理解:**製作數據庫並使用ppolicy覆蓋。使 ou=Policies 在我的域 dc=example,dc=com 中。我無法在 Apache Directory Studio 中探索 ou=Policies,即使我相信它存在於 dc=example,dc=com 中
**關於第 3 步的問題:**我現在有有效的預設密碼策略嗎?
**第 4 步:**無法使用以下命令將 pwdPolicy 對像類添加到 olcOverlay={0}ppolicy:
ldapmodify -a -D "cn=config" -W -f configureDefaultPpolicy.ldif
錯誤:
ldapmodify: invalid format (line 5) entry: "olcOverlay={0}ppolicy,cn=olcDatabase={2}hdb,cn=config"
configureDefaultPpolicy.ldif 的內容
dn: olcOverlay={0}ppolicy,cn=oldDatabase={2}hdb,cn=config] changetype: modify olcObjectClasses: pwdPolicy cn=passwordDefault,ou=Policies,dc=example,dc=com pwdAttribute: userPassword pwdAllowUserChange: TRUE pwdInHistory: 50 pwdMaxFailure: 3 pwdMinLength: 8
關於第 4 步的問題:http: //i.imgur.com/80yPJVG.jpg (不夠信任,無法嵌入圖片:()
**第三步的理解:**製作數據庫並使用ppolicy覆蓋。使 ou=Policies 在我的域 dc=example,dc=com 中。我無法在 Apache Directory Studio 中探索 ou=Policies,即使我相信它存在於 dc=example,dc=com 中
它不會在數據庫中創建任何東西
dc=example,dc=com
,它只是為這個數據庫使用的 ppolicy 覆蓋設置一些配置。**關於第 3 步的問題:**我現在有有效的預設密碼策略嗎?
不,根據您的教程,您必須在數據庫中創建這些分支
dc=example,dc=com
才能放置 ppolicy :它不是放在數據庫中
cn=config
而是放在數據庫中dc=example,dc=com
dn: ou=Policies,dc=example,dc=com ou: Policies objectClass: organizationalUnit dn: cn=passwordDefault,ou=Policies,dc=example,dc=com objectClass: pwdPolicy objectClass: person objectClass: top cn: passwordDefault sn: passwordDefault pwdAttribute: userPassword pwdCheckQuality: 0 pwdMinAge: 0 pwdMaxAge: 0 pwdMinLength: 8 pwdInHistory: 5 pwdMaxFailure: 3 pwdFailureCountInterval: 0 pwdLockout: TRUE pwdLockoutDuration: 0 pwdAllowUserChange: TRUE pwdExpireWarning: 0 pwdGraceAuthNLimit: 0 pwdMustChange: FALSE pwdSafeModify: FALSE
關於第 4 步的問題,我無法在我的專業代理後面看到 imgur 圖像,但您嘗試將 ppolicy 導入 cn=config 的事實應該是主要問題。