我正在为我的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。
但是什么是正确的结构呢?
RFC2307 又名“NIS”模式不允许
posixGroup
有member
属性——只有memberUid
;您可以在nis.schema
文件中自己查看,大约第 175 行。如果您想
member
在创建“系统”(POSIX)组时使用和输入 DN,您将需要使用RFC2307bis模式,该模式更改posixGroup
为辅助模式,以便可以与任何一个groupOfNames
或groupOfMembers
类一起使用:对于其他目的(仅限 LDAP 组),只需
groupOfNames
或groupOfMembers
应该就足够了。