如何在openldap服务器上配置反向组成员资格维护? (成员)
我目前正在将LDAP身份验证集成到系统中,我想基于LDAP组限制访问.唯一的方法是通过搜索过滤器,因此我相信我唯一的选择是在我的搜索过滤器中使用“memberOf”属性.据我所知,“memberOf”属性是一个操作属性,只要为服务器上的任何“groupOfNames”条目创建新的“member”属性,服务器就可以为我创建该属性.
我的主要目标是能够在现有的“groupOfNames”条目中添加“member”属性,并将匹配的“memberOf”属性添加到我提供的DN中. 到目前为止我成功实现的目标: 我仍然是LDAP管理的新手,但基于我在openldap管理员指南中找到的内容,它看起来像Reverse Group Membership Maintence又称“覆盖成员”将达到我正在寻找的效果. 我的服务器当前正在运行openldap 2.4.15的软件包安装(ubuntu上的slapd),它使用“cn = config”样式运行时配置.我发现的大多数示例仍然引用了较旧的“slapd.conf”静态配置方法,我已尽力使配置适应新的基于目录的模型. 我添加了以下条目以启用overlayof成员模块: 使用olcModuleLoad启用模块 cn=config/cn=module{0}.ldif dn: cn=module{0} objectClass: olcModuleList cn: module{0} olcModulePath: /usr/lib/ldap olcModuleLoad: {0}back_hdb olcModuleLoad: {1}memberof.la structuralObjectClass: olcModuleList entryUUID: a410ce98-3fdf-102e-82cf-59ccb6b4d60d creatorsName: cn=config createTimestamp: 20090927183056Z entryCSN: 20091009174548.503911Z#000000#000#000000 modifiersName: cn=admin,cn=config modifyTimestamp: 20091009174548Z 启用数据库的叠加并允许它使用它的默认设置(groupOfNames,member,memberOf等) cn=config/olcDatabase={1}hdb/olcOverlay={0}memberof dn: olcOverlay={0}memberof objectClass: olcMemberOf objectClass: olcOverlayConfig objectClass: olcConfig objectClass: top olcOverlay: {0}memberof structuralObjectClass: olcMemberOf entryUUID: 6d599084-490c-102e-80f6-f1a5d50be388 creatorsName: cn=admin,cn=config createTimestamp: 20091009104412Z olcMemberOfRefInt: TRUE entryCSN: 20091009173500.139380Z#000000#000#000000 modifiersName: cn=admin,cn=config modifyTimestamp: 20091009173500Z 我目前的结果: 通过使用上面的配置,我可以添加一个包含任意数量“member”条目的NEW“groupOfNames”,并使用“memberOf”属性更新所有涉及的DN.这是我期望的行为的一部分.虽然我认为应该用覆盖成员完成以下操作,但我仍然不知道如何做以下操作,我很乐意欢迎任何建议: >将“member”属性添加到EXISTING“groupOfNames”,并自动创建相应的“memberOf”属性.
我一直在努力做同样的事情,openldap文档极简主义,几乎没有任何帮助.当他们转到配置数据库(原则上不是一个坏主意)时,所有选项都改变了,所以当人们从/etc/ldap/slapd.conf给出示例时,它对于现代slapd配置(例如Ubuntu)是没用的.
我终于得到了这个工作.这是摘要…第一个LDIF文件: dn: cn=module,cn=config objectClass: olcModuleList cn: module olcModulePath: /usr/lib/ldap olcModuleLoad: memberof 第二个LDIF文件: dn: olcOverlay=memberof,olcDatabase={1}hdb,cn=config objectClass: olcMemberOf objectClass: olcOverlayConfig objectClass: olcConfig objectClass: top olcOverlay: memberof olcMemberOfDangling: ignore olcMemberOfRefInt: TRUE olcMemberOfGroupOC: groupOfNames olcMemberOfMemberAD: member olcMemberOfMemberOfAD: memberOf 使用ldapadd将它们添加到配置数据库中(与普通配置相同). 它不会自动更新数据库中的现有数据,因此我需要使用slapcat将所有内容复制到临时文件中,并访问每个组,删除该组并再次添加相同的组(强制memberOf属性更新)正确).如果您从空数据库开始,那么它将在添加对象时正确更新属性. 另请注意,“olcDatabase = {1} hdb”非常典型,但不能保证与您的设置相匹配.一定要检查一下. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |