OpenLDAP 不允许修改成员

OpenLDAP 不允许修改成员

我正在努力LDAP属性。

我已经创建了一些测试用户和组,但无法将用户添加到组中。

#!DATE 2014-05-22T11:48:16.324
#!ERROR [LDAP: error code 65 - attribute 'member' not allowed]
dn: cn=test,ou=groups,dc=example,dc=org
changetype: modify
add: member
member: cn=User Name,ou=users,dc=example,dc=org

用户组只是一个简单的PosixGroup:

dn: cn=test,ou=groups,dc=example,dc=org
changetype: add
gidNumber: 1234
objectClass: posixGroup
objectClass: top
cn: test

没有别的了。这是(我认为相关的)调试输出:

May 22 13:48:12 intranet slapd[90208]: oc_check_required entry (cn=test,ou=groups,dc=example,dc=org), objectClass "posixGroup"
May 22 13:48:12 intranet slapd[90208]: oc_check_allowed type "cn"
May 22 13:48:12 intranet slapd[90208]: oc_check_allowed type "objectClass"
May 22 13:48:12 intranet slapd[90208]: oc_check_allowed type "structuralObjectClass"
May 22 13:48:12 intranet slapd[90208]: oc_check_allowed type "entryUUID"
May 22 13:48:12 intranet slapd[90208]: oc_check_allowed type "creatorsName"
May 22 13:48:12 intranet slapd[90208]: oc_check_allowed type "createTimestamp"
May 22 13:48:12 intranet slapd[90208]: oc_check_allowed type "gidNumber"
May 22 13:48:12 intranet slapd[90208]: oc_check_allowed type "member"
May 22 13:48:12 intranet slapd[90208]: Entry (cn=test,ou=groups,dc=example,dc=org), attribute 'member' not allowed
May 22 13:48:12 intranet slapd[90208]: entry failed schema check: attribute 'member' not allowed
May 22 13:48:12 intranet slapd[90208]: hdb_modify: modify failed (65)

我加载了以下架构文件

include         /usr/local/etc/openldap/schema/core.schema
include         /usr/local/etc/openldap/schema/cosine.schema
include         /usr/local/etc/openldap/schema/nis.schema
include         /usr/local/etc/openldap/schema/inetorgperson.schema
#include         /usr/local/etc/openldap/schema/openldap.schema

通过 pkg_ng 安装

# pkg info openldap-server
openldap-server-2.4.39_1
Name           : openldap-server
Version        : 2.4.39_1
Installed on   : Mon May 19 16:48:33 CEST 2014
...

# uname -a
FreeBSD intranet 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789: Thu Jan 16 22:34:59 UTC 2014     [email protected]:/usr/obj/usr/src/sys/GENERIC  amd64

编辑:好的,我发现我错误地使用了 posixGroup。我应该使用 GroupOfNames 来插入 CN。

但什么是正确的结构呢?

答案1

RFC2307 又名“NIS”模式不允许posixGroup具有member属性 – 仅memberUid;您可以在文件的第 175 行左右亲自查看nis.schema

objectClass: posixGroup         (structural)
cn: users
gidNumber: 1000
memberUid: daywalker

如果要member在创建“系统”(POSIX)组时使用和输入 DN,则需要使用RFC2307bis模式,它变为posixGroup辅助模式,以便可以与或groupOfNames类一起使用groupOfMembers

objectClass: groupOfMembers     (structural)
objectClass: posixGroup         (auxiliary)
cn: users
gidNumber: 1000
member: uid=daywalker,ou=people,dc=foo

对于其他目的(仅限 LDAP 组),只需groupOfNamesgroupOfMembers就足够了。

相关内容