Note | ||
---|---|---|
| ||
This site is in the process of being reviewed and updated. |
Table of Contents | ||
---|---|---|
|
Introduction
This page is used to describe the MetaSchema using OpenLdap schema syntx, so that it can be loaded into the ou=schema special partition
The MetaSchema schema
This part expose the elements we have to declare to be able to store the schema using a standard schema
Meta top level elements
MetaTop OjectClass
This Meta object is used as the top-level class which will be the mother of all MetaObjects
Code Block |
---|
Wiki Markup |
h1. Introduction This page is used to describe the MetaSchema using OpenLdap schema syntx, so that it can be loaded into the ou=schema special partition h1. The MetaSchema schema This part expose the elements we have to declare to be able to store the schema using a standard schema h2. Meta top level elements h3. MetaTop OjectClass This Meta object is used as the top-level class which will be the mother of all MetaObjects {code} ObjectClass ( 1.3.6.1.4.1.18060.10.14.0.03.1 NAME MetaTop DESC 'Top level ObjectClass of all Meta objects' SUP top ABSTRACT MUST ( m-oid $ m-descdescription ) ) {code} h3. MetaTop AttributeTypes We also need to describe all the meta attributeTypes we will use : ||name||ldif form|| |m-oid|dn: |
MetaTop AttributeTypes
We also need to describe all the meta attributeTypes we will use :
name | ldif form |
---|---|
m-oid | dn: m-name=m-oid,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.1 |
...
|
...
m-oid |
...
|
...
The |
...
Object |
...
Identifier |
...
|
...
OidMatch |
...
|
...
NumericOid |
...
singleValue: true | |
m-name | dn: m-name=m-name,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.2 |
...
|
...
m-name |
...
|
...
The |
...
Object |
...
name |
...
|
...
caseIgnoreMatch |
...
|
...
1.3.6.1.4.1.1466.115.121.1.15{32768} |
...
m- |
...
description | dn: m-name=m-description,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.3 |
...
|
...
m-description |
...
|
...
Meta |
...
descriptive |
...
information |
...
|
...
caseIgnoreMatch |
...
|
...
1.3.6.1.4.1.1466.115.121.1.15 |
...
{1024 |
...
} |
...
|
...
single-value: |
...
true |
m- |
...
obsolete | dn: |
...
m-name=m-obsolete,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.4 |
...
|
...
m-obsolete |
...
|
...
The |
...
type |
...
is |
...
obsolete |
...
|
...
BooleanMatch |
...
|
...
Boolean |
...
|
...
singleValue: true | |
m-supObjectClass | dn: m-name=m- |
...
supObjectClass,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.5 |
...
|
...
m-sup-objectclass |
...
|
...
The |
...
list |
...
of |
...
superiors |
...
|
...
NameOrOidMatch |
...
|
...
Oid | |
m-must | dn: m-name=m-must,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.6 |
...
|
...
m-must |
...
|
...
The |
...
list |
...
of |
...
mandatory |
...
ATs |
...
|
...
NameOrOidMatch |
...
|
...
Oid | |
m-may | dn: m-name=m-may,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.7 |
...
|
...
m-may |
...
|
...
The |
...
list |
...
of |
...
authorized |
...
ATs |
...
|
...
NameOrOidMatch |
...
|
...
Oid | |
m-typeObjectClass | dn: m-name=m- |
...
typeObjectClass,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.8 |
...
|
...
m-type-object-class |
...
|
...
The |
...
ObjectClass |
...
type |
...
|
...
TypeObjectClassMatch |
...
|
...
TypeObjectClass |
...
|
...
singleValue: true | |
m-extensionObjectClass | dn: m-name=m-extensionObjectClass,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.9 |
...
|
...
m-extension-object-class |
...
|
...
An |
...
objectclass |
...
extension |
...
|
...
caseIgnoreMatch |
...
|
...
1.3.6.1.4.1.1466.115.121.1.15{32768} |
...
| |
m-supAttributeType | dn: m-name=m- |
...
supAttributeType,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.10 |
...
|
...
m-sup-attribute-type |
...
|
...
The |
...
list |
...
of |
...
superior |
...
|
...
nameOrOidMatch |
...
|
...
Oid |
...
singleValue: true | |
m-equality | dn: m-name=m-equality,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.11 |
...
|
...
m-equality |
...
|
...
description: |
...
Equality |
...
matching |
...
rule |
...
|
...
nameOrOidMatch |
...
|
...
Oid | |
m-ordering | dn: m-name=m-ordering,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.12 |
...
|
...
m-ordering |
...
|
...
Ordering |
...
matching |
...
rule |
...
|
...
nameOrOidMatch |
...
|
...
Oid |
...
singleValue: true | |
m-substr | dn: m-name=m-substr,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.13 |
...
|
...
m-substr |
...
|
...
Substring |
...
matching |
...
rule |
...
|
...
nameOrOidMatch |
...
|
...
Oid |
...
singleValue: true | |
m-attributeTypeSyntax | dn: m-name=m-attributeTypeSyntax,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.14 |
...
|
...
m- |
...
attributeTypeSyntax |
...
The |
...
attributeType syntax |
...
OidLenMatch |
...
OidLen |
...
singleValue: true | |
m-singleValue | dn: m-name=m- |
...
singleValue,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.15 |
...
|
...
m- |
...
singleValue |
...
The |
...
attribute |
...
is |
...
single |
...
valued |
...
|
...
BooleanMatch |
...
|
...
Boolean |
...
|
...
singleValue: true | |
m-collective | dn: m-name=m-collective,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.16 |
...
|
...
m-collective |
...
|
...
The |
...
attribute |
...
is |
...
collective |
...
|
...
BooleanMatch |
...
|
...
Boolean |
...
|
...
singleValue: true | |
m-noUserModification | dn: m-name=m- |
...
noUserModification,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.17 |
...
|
...
m- |
...
noUserModification |
...
The |
...
attribute |
...
is |
...
protected |
...
|
...
BooleanMatch |
...
|
...
Boolean |
...
|
...
singleValue: true | |
m-usage | dn: m-name=m-usage,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.18 |
...
|
...
m-usage |
...
|
...
Type |
...
of |
...
operation |
...
|
...
UsageMatch |
...
|
...
AttributeTypeUsage |
...
true | |
m-extensionAttributeType | dn: name=m- |
...
extensionAttributeType,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.19 |
...
|
...
m- |
...
extensionAttributeType |
...
Extension for attributeType |
...
caseIgnoreMatch |
...
1.3.6.1.4.1.1466.115.121.1.15{32768} | |
m-ruleId | dn: name=mruleId,ou=meta,ou=schema |
...
|
...
meta-attributeType |
...
|
...
meta-top |
...
|
...
top |
...
|
...
1.3.6.1.4.1.18060. |
...
0. |
...
4.0. |
...
2.20 |
...
|
...
m- |
...
ruleId |
...
The rule ID |
...
ruleIDMatch | |
m-form | dn: name=m-form,ou=meta,ou=schema |
m-supDITStructureRule | dn: name=m-supDITStructureRule,ou=meta,ou=schema |
m-extensionDITStructureRule | dn: name=m-extensionDITStructureRule,ou=meta,ou=schema |
m-oc | dn: name=m-oc,ou=meta,ou=schema |
m-extensionNameForm | dn: name=m-extensionNameForm,ou=meta,ou=schema |
m-aux | dn: name=m-aux,ou=meta,ou=schema |
m-not | dn: name=m-not,ou=meta,ou=schema |
m-extensionDITContentRule | dn: name=m-extensionDITContentRule,ou=meta,ou=schema |
m-applies | dn: name=m-applies,ou=meta,ou=schema |
m-extensionMatchingRuleUse | dn: name=m-extensionMatchingRuleUse,ou=meta,ou=schema |
m-matchingRuleSyntax | dn: m-name=m-matchingRuleSyntax,ou=meta,ou=schema |
MetaTop ObjectClasses instances
MetaObjectClass
The following text is the description of the MetaObjectClass :
Code Block |
---|
ObjectClass ( 1.3.6.1.4.1.18060.0.4.0.3.2
NAME MetaObjectClass
DESC 'Meta definition of the ObjectClass object'
SUP MetaTop
STRUCTURAL
MUST m-name
MAY ( m-sup-object-class $ m-must $ m-may $ m-type-object-class $ m-obsolete $ m-extension )
)
|
MetaAttributeType
The following text is the description of the MetaAttributeType :
Code Block |
---|
ObjectClass ( 1.3.6.1.4.1.18060.0.4.0.3.3
NAME MetaAttributeType
DESC 'Meta definition of the AttributeType object'
SUP MetaTop
STRUCTURAL
MUST ( m-name $ m-syntax )
MAY ( m-sup-attribute-type $ m-type-attribute-type $ m-obsolete $ m-equality $ m-ordering $ m-substr $ m-single-value $ m-collective $ m-no-user-modification $ m-usage $ m-extension )
)
|
MetaSyntax
The following text is the description of the MetaSyntax :
Code Block |
---|
ObjectClass ( 1.3.6.1.4.1.18060.0.4.0.3.4
NAME MetaSyntax
DESC 'Meta definition of the Syntax object'
SUP MetaTop
STRUCTURAL
)
|
MetaMatchingRule
The following text is the description of the MatchingRule :
Code Block |
---|
ObjectClass ( 1.3.6.1.4.1.18060.0.4.0.3.5
NAME MetaMatchingRule
DESC 'Meta definition of the MatchingRule object'
SUP MetaTop
STRUCTURAL
MUST m-syntax
MAY ( m-obsolete $ m-extensions )
)
|
MetaDITStructureRule
The following text is the description of the DITStructureRule :
Code Block |
---|
ObjectClass ( 1.3.6.1.4.1.1466.115.121.1.15{32768} m-no-user-modification: true m-single-value: false m-usage: dSAOperation| h2. MetaTop ObjectClasses instances h3. MetaObjectClass The following text is the description of the *MetaObjectClass* : {code} ObjectClass ( 1.3.6.1.4.1.18060.10.14.0.03.26 NAME MetaObjectClassMetaDITStructureRule DESC 'Meta definition of the ObjectClassDITStructureRule object' SUP MetaToptop STRUCTURAL MUST m-name MAY ( m-sup-objectclassruleId $ m-must $ m-may $form ) MAY ( m-type-objectclassobsolete $ m-obsoletesupDITStructureRule $ m-extensionextensionDITStructureRule ) ) |
MetaNameForm
The following text is the description of the NameForm :
Code Block |
---|
{code} h3. MetaAttributeType The following text is the description of the *MetaAttributeType* : {code} ObjectClass ( 1.3.6.1.4.1.18060.10.14.0.03.37 NAME MetaAttributeTypeMetaNameForm DESC 'Meta definition of the AttributeTypeNameForm object' SUP MetaTop STRUCTURAL MUST ( m-name $ m-syntax ) MAY ( m-sup-attribute-type $ m-type-attribute-type $ m-obsolete $ m-equality $ m-orderingtop STRUCTURAL MUST ( m-oc $ m-substrmust ) $ m-single-value $ m-collectiveMAY $( m-no-user-modificationobsolete $ m-usagemay $ m-extension ) ) {code} h3. MetaSyntax The following text is the description of -extensionNameForm ) ) |
MetaMatchingRuleUse
The following text is the description of the MatchingRuleUse :
Code Block |
---|
the *MetaSyntax* : {code} ObjectClass ( 1.3.6.1.4.1.18060.10.14.0.03.48 NAME MetaSyntax MetaMatchingRuleUse DESC 'Meta definition of the MatchingRuleUse object' SUP top STRUCTURAL DESC 'Meta definition ofMUST the( Syntax object'm-applies ) SUPMAY MetaTop ( m-obsolete $ m-extensionMatchingRuleUse STRUCTURAL) ) |
MetaDITContentRule
The following text is the description of the DITContentRule :
Code Block |
---|
{code} h3. MetaMatchingRule The following text is the description of the *MatchingRule* : {code} ObjectClass ( 1.3.6.1.4.1.18060.10.14.0.03.59 NAME MetaMatchingRuleMetaDITContentRule DESC 'Meta definition of the MatchingRuleDITContentRule object' SUP MetaToptop STRUCTURAL MAY ( m-obsolete MUST$ m-syntax aux $ m-must $ MAYm-may ($ m-obsoletenot $ m-extensionsextensionDITContentRule ) ) |
Application to Core Schema
We will express the Core schema using the previously defined Ldap objects :
Country
The country ObjectClass in OpenLdap format :
Code Block |
---|
{code} h1. Application to Core Schema We will express the Core schema using the previously defined Ldap objects : h2. Country The country ObjectClass in OpenLdap format : {code} objectclass ( 2.5.6.2 NAME 'country' DESC 'RFC2256: a country' SUP top STRUCTURAL MUST c MAY ( searchGuide $ description ) ) {code} |
The
...
Country
...
ObjectClass
...
using
...
the
...
MetaObjectClass
...
definition
...
will
...
be
...
inserted
...
as
...
an
...
entry
...
into
...
the
...
ou=schema
...
partition.
...
As
...
it
...
is
...
declared
...
in
...
core
...
,
...
we
...
use
...
a
...
DN
...
which
...
describe
...
this
...
relationship
...
with
...
the
...
original
...
filer
...
:
Code Block |
---|
} dn: name=country, dc=core, ou=schema objectclass: MetaObjectClass objectclass: MetaTop objectClass: top m-oid: 2.5.6.2 m-name: country m-desc: RFC2256: a country m-sup-objectClass: top m-type-objectClass: STRUCTURAL m-must: c m-may: searchGuide m-may: description {code} |