免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7558 | 回复: 8
打印 上一主题 下一主题

[系统管理] openldap的schema中怎么没有memberOf属性? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-23 10:58 |只看该作者 |倒序浏览
想用ldap管理组织机构和用户,其中需要维护group和user之间的映射关系。

groupOfNames有一个属性可以用来维护group下的user,如:
  1. dn: cn=hr,ou=group,dc=example,dc=com
  2. cn: hr
  3. objectClass: groupOfNames
  4. member: cn=jack,ou=user,dc=example,dc=com
  5. member: cn=rose,ou=user,dc=example,dc=com
复制代码
反过来,“每一个用户属于哪些组”也需要管理起来,便于ldap search。否则要去扫描每一个group,效率太低。
但是我找了半天,person、orginazitionalPerson、inetOrgPerson的都没有memberOf之类的属性,那么user->group的关系,怎样维护呢?
大家通常是怎么做的?求教!

论坛徽章:
0
2 [报告]
发表于 2013-05-23 18:26 |只看该作者
查阅了一些资料,openldap貌似支持“反向组-成员关系”的,如下:
  1. In some scenarios, it may be desirable for a client to be able to determine which groups an entry is a member of, without performing an additional search. Examples of this are applications using the DIT for access control based on group authorization.

  2. The memberof overlay updates an attribute (by default memberOf) whenever changes occur to the membership attribute (by default member) of entries of the objectclass (by default groupOfNames) configured to trigger updates.

  3. Thus, it provides maintenance of the list of groups an entry is a member of, when usual maintenance of groups is done by modifying the members on the group entry.
复制代码
可当我试图增加这个特性时,报错如下:

  1. sudo ldapadd -Y EXTERNAL -H ldapi:///
  2. SASL/EXTERNAL authentication started
  3. SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
  4. SASL SSF: 0
  5. dn: olcOverlay={0}memberOf,olcDatabase={1}hdb,cn=config
  6. objectClass: olcOverlayConfig
  7. olcOverlay: memberOf

  8. adding new entry "olcOverlay={0}memberOf,olcDatabase={1}hdb,cn=config"
  9. ldap_add: Other (e.g., implementation specific) error (80)
  10.         additional info: <olcOverlay> handler exited with 1
复制代码
这是什么原因?没有人知道吗?

论坛徽章:
0
3 [报告]
发表于 2013-05-24 18:41 |只看该作者
自己搞定了!
感谢政府!感谢CCTV!

论坛徽章:
0
4 [报告]
发表于 2014-12-18 14:15 |只看该作者
本帖最后由 fanuq 于 2014-12-18 19:31 编辑

我也试着搞定了,备份下
删除我的slapd.conf文件中

database config  
rootpw  secret

然后加上
modulepath /usr/lib64/openldap  
moduleload memberof
overlay memberof
就可以实现,操作系统centos6

论坛徽章:
0
5 [报告]
发表于 2015-01-06 15:04 |只看该作者
回复 3# knightmade


    楼主怎么解决的?

论坛徽章:
41
操作系统版块每日发帖之星
日期:2016-08-21 06:20:00每日论坛发贴之星
日期:2016-05-05 06:20:00操作系统版块每日发帖之星
日期:2016-05-05 06:20:00IT运维版块每日发帖之星
日期:2016-05-05 06:20:0015-16赛季CBA联赛之山西
日期:2016-04-27 08:49:00操作系统版块每日发帖之星
日期:2016-04-25 06:20:00操作系统版块每日发帖之星
日期:2016-04-17 06:23:2815-16赛季CBA联赛之吉林
日期:2016-03-25 15:46:3415-16赛季CBA联赛之四川
日期:2016-03-25 14:26:19操作系统版块每日发帖之星
日期:2016-05-27 06:20:00操作系统版块每日发帖之星
日期:2016-05-28 06:20:00IT运维版块每日发帖之星
日期:2016-08-18 06:20:00
6 [报告]
发表于 2015-01-06 15:14 |只看该作者
只能在用户属性中增加组,不能在组属性里添加用户

虽然说起来很别扭,但是确实是这样

论坛徽章:
0
7 [报告]
发表于 2015-01-06 18:42 |只看该作者
肯定不对,同一个用户属于多个组这种情况肯定是需要这样的属性支持的,不然查找起来相当麻烦回复 6# jixuuse


   

论坛徽章:
41
操作系统版块每日发帖之星
日期:2016-08-21 06:20:00每日论坛发贴之星
日期:2016-05-05 06:20:00操作系统版块每日发帖之星
日期:2016-05-05 06:20:00IT运维版块每日发帖之星
日期:2016-05-05 06:20:0015-16赛季CBA联赛之山西
日期:2016-04-27 08:49:00操作系统版块每日发帖之星
日期:2016-04-25 06:20:00操作系统版块每日发帖之星
日期:2016-04-17 06:23:2815-16赛季CBA联赛之吉林
日期:2016-03-25 15:46:3415-16赛季CBA联赛之四川
日期:2016-03-25 14:26:19操作系统版块每日发帖之星
日期:2016-05-27 06:20:00操作系统版块每日发帖之星
日期:2016-05-28 06:20:00IT运维版块每日发帖之星
日期:2016-08-18 06:20:00
8 [报告]
发表于 2015-01-09 10:29 |只看该作者
qzn928 发表于 2015-01-06 18:42
肯定不对,同一个用户属于多个组这种情况肯定是需要这样的属性支持的,不然查找起来相当麻烦回复 6# jixuus ...



我自己写了个程序来做管理,类似于AD的管理工具,openldap自带的那个web管理工具真心不好用

论坛徽章:
0
9 [报告]
发表于 2015-01-13 17:25 |只看该作者
也是种不错的方法,我是不想自己开发,不过后来用系统用户组管理也解决问题了 回复 8# jixuuse


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP