Openldap设置olcOverlay:ppolicy

问题:为什么我无法将objectclass pwdPolicy添加到cn = PasswordDefaults?


背景信息

我是LDAP的新手,我正在通过各种教程和其他技巧在线绊脚石创build一个目录,将为我处理用户信息。 我正在尝试创build一个包含用户信息并强制执行密码策略的LDAP服务器。 为了达到这个目的,我相信我需要将pwdPolicy objectclass添加到运行2.4.40的LDAP服务器的ou = Policies。 我松散地遵循这些教程:

{ 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松散地遵循OLD部分OpenLDAP密码策略覆盖OpenLDAP命令

步骤1:使用以下命令将ppolicy模式加载到OLC中:

 ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif 

了解步骤1:将cn = {5} ppolicy.ldif添加到/…/slap.d/cn=config/cn=schema

第二步:用这个命令加载模块:

 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:将cn = module {0} .ldif添加到/…/slapd.d/cn=config。

步骤3:使用此命令configurationppolicy覆盖:

 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 

了解第3步:制作数据库并使用ppolicy覆盖。 使ou =我的域中的策略dc = example,dc = com。 即使我相信它存在于dc = example,dc = com中,我也无法探索Apache Directory中的ou =策略

关于步骤3的问题:我现在有一个可用的默认密码策略吗?

第4步:无法使用以下命令将pwdPolicy objectclass添加到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 (不足够embedded图片:()

了解第3步:制作数据库并使用ppolicy覆盖。 使ou =我的域中的策略dc = example,dc = com。 即使我相信它存在于dc = example,dc = com中,我也无法探索Apache Directory中的ou =策略

它不会在数据库中创build任何东西dc=example,dc=com ,它只是为这个数据库使用的ppolicy overlay设置一些configuration。

关于步骤3的问题:我现在有一个可用的默认密码策略吗?

不,根据你的教程,你必须在数据库中创build这些分支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的事实应该是主要问题。