如何通过phpldapadmin

时间:2016-01-27 06:40:46

标签: ldap openldap phpldapadmin

我正在使用openldap来创建一个简单的用户和简单的组。

dn: cn=User2 Engineer,ou=users,dc=example,dc=net
cn: User2 Engineer
gidnumber: 501
givenname: User2
homedirectory: /home/users/u2engineer
loginshell: /bin/sh
objectclass: inetOrgPerson
objectclass: posixAccount
objectclass: top
sn: Engineer
uid: u2engineer
uidnumber: 1002
userpassword: {MD5}xxxxxxx


# Entry 1: cn=network engineers,ou=groups,dc=example,dc=net
dn: cn=network engineers,ou=groups,dc=example,dc=net
cn: network engineers
gidnumber: 501
memberuid: user1ene
memberuid: u2engineer
objectclass: posixGroup
objectclass: top

我想通过将memberof属性添加到用户条目来将用户与组关联起来。 这意味着我需要将groupOfNames对象类添加到用户,groupOfNames位于core.schema中 但它既不能通过phpldapadmin也不能通过ldapmodify将该对象类添加到用户。 我收到了错误:

LDAP said:  Object class violation
Error number:   0x41 (LDAP_OBJECT_CLASS_VIOLATION)

我确信core.schema已成功导入openldap。

可能的原因是什么? 如何向用户添加memberof属性?

谢谢!

  

-SG -

1 个答案:

答案 0 :(得分:2)

你做不到。 memberOf属性是由memberof叠加层自动维护的操作属性。你不能自己设置它。

groupOfNames对象类添加到用户条目也没有意义。该对象类用于错误的名称组(例如角色),并且它具有member属性,您可以向其添加用户的DN。然后,用户的memberOf属性会自动更新,以包含该组的DN。

你这一切都是回到了前面。