openldap - 无法从架构文件创建 ldif 文件
openldap - cannot create ldif file from schema file
我正在尝试将自己的模式添加到 OpenLDAP,但是当我使用 slaptest 转换 .schema -> .ldif 时,目标目录中除了一些默认模式外什么都没有。我的没有被创建。我将路径添加到 slapd.conf。我正在通过 Apache Directory Studio 创建 .schema 文件:
attributetype ( 2.0.0.0.1
NAME 'objectName'
DESC ''
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
attributetype ( 2.0.0.0.2
NAME 'editableObject'
DESC ''
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
USAGE userApplications )
attributetype ( 2.0.0.0.3
NAME 'mailDesc'
DESC ''
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
USAGE userApplications )
attributetype ( 2.0.0.0.4
NAME 'visibleObject'
DESC ''
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
USAGE userApplications )
attributetype ( 2.0.0.0.5
NAME 'objectDesc'
DESC ''
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
USAGE userApplications )
objectclass ( 2.0.0.1.1
NAME 'myObject'
DESC ''
SUP top
AUXILIARY
MAY ( objectName $ objectDesc ) )
objectclass ( 2.0.0.1.2
NAME 'myRole'
DESC ''
AUXILIARY
MAY ( editableObject $ visibleObject ) )
objectclass ( 2.0.0.1.3
NAME 'myUser'
DESC ''
AUXILIARY
MAY ( editableObject $ visibleObject $ mailDesc ) )
您知道为什么没有 .ldif 文件吗?
I'm trying to add my own schema to OpenLDAP, but when I convert
.schema -> .ldif using slaptest, there's nothing in the destination
directory except for some default schemas.
slaptest
完全按照您的描述进行操作:将模式转换为 ldif。您从未将 ldif 添加到目录中。 (无论如何slaptest
都可以把ldif添加到目录中,如命令名所暗示的,是做测试,不是修改目录)
Mine is not being created.
LDIF已经创建,只是没有添加到目录
I added the path to slapd.conf
多年来没有 slapd.conf
用于 OpenLDAP 配置。你必须使用 cn=config
分支来这样做
I'm creating the .schema file via Apache Directory Studio
如上所述,.schema
文件被旧的 OpenLDAP 配置系统使用。现在你必须使用 cn=config
分支
更多信息:
- 模式存储在
cn=config
分支内:cn=schema,cn=config
- 要添加架构,您必须添加如下条目:
cn={x}myschema,cn=schema,cn=config
其中包含一个 ldif,例如:
dn: cn={4}myschema,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: {4}myschema
olcAttributeTypes: {0}( 0.0.0.0.0.1.1 NAME 'code' DESC 'Some code identificati
on' SUP description )
olcAttributeTypes: {1}( 0.0.0.0.0.1.2 NAME ( 'latitude' 'lat' ) DESC 'Latitude
' SUP description )
olcObjectClasses: {5}( 0.0.0.0.0.2.6 NAME 'groupCustom' DESC 'A group of nam
es (DNs) with optionnal member attribute' SUP top STRUCTURAL MUST ( cn ) MAY
( member $ seeAlso $ owner $ description ) )
olcObjectClasses: {6}( 0.0.0.0.0.2.7 NAME 'groupDynamic' DESC 'A DYNAMIC g
roup of names (DNs) with optionnal member attribute' SUP top STRUCTURAL MUST
( cn $ dynListURL ) MAY ( member $ seeAlso $ owner $ description ) )
注意:此示例是 slapcat
的结果,绝不是 LDIF 描述要执行的 ldapadd
操作以将架构添加到目录。但是如果您不想编写 LDIF 以用于 ldapadd
操作
,您仍然可以使用 Apache Directory Studio 导入它
有关更多信息,请考虑阅读 http://www.zytrax.com/books/ldap/ch6/slapd-config.html#use-schemas
我正在尝试将自己的模式添加到 OpenLDAP,但是当我使用 slaptest 转换 .schema -> .ldif 时,目标目录中除了一些默认模式外什么都没有。我的没有被创建。我将路径添加到 slapd.conf。我正在通过 Apache Directory Studio 创建 .schema 文件:
attributetype ( 2.0.0.0.1
NAME 'objectName'
DESC ''
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
attributetype ( 2.0.0.0.2
NAME 'editableObject'
DESC ''
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
USAGE userApplications )
attributetype ( 2.0.0.0.3
NAME 'mailDesc'
DESC ''
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
USAGE userApplications )
attributetype ( 2.0.0.0.4
NAME 'visibleObject'
DESC ''
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
USAGE userApplications )
attributetype ( 2.0.0.0.5
NAME 'objectDesc'
DESC ''
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
USAGE userApplications )
objectclass ( 2.0.0.1.1
NAME 'myObject'
DESC ''
SUP top
AUXILIARY
MAY ( objectName $ objectDesc ) )
objectclass ( 2.0.0.1.2
NAME 'myRole'
DESC ''
AUXILIARY
MAY ( editableObject $ visibleObject ) )
objectclass ( 2.0.0.1.3
NAME 'myUser'
DESC ''
AUXILIARY
MAY ( editableObject $ visibleObject $ mailDesc ) )
您知道为什么没有 .ldif 文件吗?
I'm trying to add my own schema to OpenLDAP, but when I convert .schema -> .ldif using slaptest, there's nothing in the destination directory except for some default schemas.
slaptest
完全按照您的描述进行操作:将模式转换为 ldif。您从未将 ldif 添加到目录中。 (无论如何slaptest
都可以把ldif添加到目录中,如命令名所暗示的,是做测试,不是修改目录)
Mine is not being created.
LDIF已经创建,只是没有添加到目录
I added the path to slapd.conf
多年来没有 slapd.conf
用于 OpenLDAP 配置。你必须使用 cn=config
分支来这样做
I'm creating the .schema file via Apache Directory Studio
如上所述,.schema
文件被旧的 OpenLDAP 配置系统使用。现在你必须使用 cn=config
分支
更多信息:
- 模式存储在
cn=config
分支内:cn=schema,cn=config
- 要添加架构,您必须添加如下条目:
cn={x}myschema,cn=schema,cn=config
其中包含一个 ldif,例如:
dn: cn={4}myschema,cn=schema,cn=config objectClass: olcSchemaConfig cn: {4}myschema olcAttributeTypes: {0}( 0.0.0.0.0.1.1 NAME 'code' DESC 'Some code identificati on' SUP description ) olcAttributeTypes: {1}( 0.0.0.0.0.1.2 NAME ( 'latitude' 'lat' ) DESC 'Latitude ' SUP description ) olcObjectClasses: {5}( 0.0.0.0.0.2.6 NAME 'groupCustom' DESC 'A group of nam es (DNs) with optionnal member attribute' SUP top STRUCTURAL MUST ( cn ) MAY ( member $ seeAlso $ owner $ description ) ) olcObjectClasses: {6}( 0.0.0.0.0.2.7 NAME 'groupDynamic' DESC 'A DYNAMIC g roup of names (DNs) with optionnal member attribute' SUP top STRUCTURAL MUST ( cn $ dynListURL ) MAY ( member $ seeAlso $ owner $ description ) )
注意:此示例是 slapcat
的结果,绝不是 LDIF 描述要执行的 ldapadd
操作以将架构添加到目录。但是如果您不想编写 LDIF 以用于 ldapadd
操作
有关更多信息,请考虑阅读 http://www.zytrax.com/books/ldap/ch6/slapd-config.html#use-schemas