我已经为测试目的配置了一个 openLDAP 服务器,并试图从实际的 LDAP 服务器添加一些用户。问题是它们有一些在默认对象类中没有定义的属性——top、person 或 organizationalPerson。所以我正在尝试定义我自己的对象类 -
user
,并使用一个名为 instanceType
的新属性作为开始。这是我创建的模式文件-object_class.schema
:
attributetype ( 1.3.6.1.4.1.42.2.27.4.1.6
NAME 'instanceType'
DESC 'instanceType attribute'
EQUALITY caseExactMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
SINGLE-VALUE )
objectclass ( 1.3.6.1.4.1.42.2.27.4.2.1
NAME 'user'
DESC 'user object'
SUP top
STRUCTURAL
MUST ( cn $ instanceType ) )
我也创造了
object_class.conf
:
include /ldap-data/object_class.schema
在那之后我运行
slaptest -f /ldap-data/object_class.conf -F /ldap-data/schemas/
产生以下文件-/ldap-data/schemas/cn=config/cn=schema/cn={0}object_class.ldif
我正在停止 slapd 服务但是当我运行slapadd -l /ldap-data/schemas/cn\=config/cn\=schema/cn\=\{0\}object_class.ldif -n 0
我收到:
slapadd: line 1: database #0 (cn=config) not configured to hold "cn={0}object_class"; no database configured for that naming context
_#################### 100.00% eta none elapsed none fast!
Closing DB...
我的模式错了吗?我试图找到我认为是标准但我找不到的“用户”数据类的属性。
今天有同样的问题。
检查您的“cn={0}object_class.ldif”。 “dn:”应该是“cn={0}object_class”。将此编辑为 “dn:cn=object_class,cn=schema,cn=config” 和你的“cn”到 “cn:object_class”
为我工作。