我在 CentOS 7.8 上有一个 OpenLDAP 服务器,并且正在尝试加载 ppolicy 覆盖。我正在尝试使用以下命令加载模块:
ldapmodify -Y EXTERNAL -H ldapi:/// -f ppolicy_load.ldif
我得到这个错误:
add olcModuleLoad:
ppolicy
modifying entry "cn=module{0},cn=config"
ldap_modify: Type or value exists (20)
additional info: modify/add: olcModuleLoad: value #0 already exists
ppolicy.ldif 的内容:
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: ppolicy
cn=module{0},cn=config.ldif 内容:
dn: cn=module{0}
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib64/openldap
olcModuleLoad: {0}back_bdb
olcModuleLoad: {1}syncprov
附加信息:
cn=module{0},cn=config 的 ldapsearch 产生以下结果:
# module{0}, config
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib64/openldap
olcModuleLoad: {0}back_bdb
olcModuleLoad: {1}syncprov
olcModuleLoad: {2}ppolicy
ppolicy 模式已加载。我也不幸应用了 ppolicy 覆盖
dn: olcOverlay=ppolicy,olcDatabase={2}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcPPolicyConfig
olcOverLay: ppolicy
olcPPolicyDefault: cn=default,ou=policies,dc=mydomain,dc=com
现在, slapcat -n 0 产生以下错误:
5ede54b5 UNKNOWN attributeDescription "OLCPPOLICYDEFAULT" inserted.
5ede54b5 config error processing olcOverlay={1}ppolicy,olcDatabase={2}hdb,cn=config:
slapcat: bad configuration file!
我认为这是由于模块没有正确加载,现在有点问题。
任何人都可以提供有关如何使其工作的指导吗?我在从我的主 ldap 服务器派生的测试服务器上配置了这个,没有问题。
谢谢。
这个问题的解决方案是导入我之前在开始 ppolicy 工作之前所做的配置数据库备份:
这里的问题似乎是该条目:
没有所有其他条目都具有的创建元数据。在我开始应用 ppolicy 之前,这是配置数据库的 slapcat 中的相关部分
这是我在恢复后立即拍摄的 slapcat 转储中的相同部分
所以在恢复配置数据库后,我能够继续配置 ppolicy 没有问题。自然地,我在我的 LDAP 服务器 (yay ESX) 的克隆上对此进行了测试。
我想我可能不在基地,但由于所有问题似乎都集中在 cn=module{0},cn=config 并且现在已修复......我会继续这样做。