mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
Misc updates
This commit is contained in:
parent
916dec0d79
commit
a119d25a2d
@ -190,9 +190,8 @@ replication.
|
|||||||
|
|
||||||
H2: What the difference between LDAPv2 and LDAPv3?
|
H2: What the difference between LDAPv2 and LDAPv3?
|
||||||
|
|
||||||
There are two versions of LDAP in use today on the Internet.
|
LDAPv3 was developed in late 1990's to replace LDAPv2.
|
||||||
LDAPv3 was developed in late 1990's to replace LDAPv2. LDAPv3
|
LDAPv3 adds the following features to LDAP:
|
||||||
adds the following features to LDAP:
|
|
||||||
|
|
||||||
- Strong Authentication via {{TERM:SASL}}
|
- Strong Authentication via {{TERM:SASL}}
|
||||||
- Integrity and Confidential Protections via {{TERM:TLS}} (SSL)
|
- Integrity and Confidential Protections via {{TERM:TLS}} (SSL)
|
||||||
@ -201,10 +200,9 @@ adds the following features to LDAP:
|
|||||||
- Extensibility (controls and extended operations)
|
- Extensibility (controls and extended operations)
|
||||||
- Schema Discovery
|
- Schema Discovery
|
||||||
|
|
||||||
Supporting both LDAPv2 and LDAPv3 simultaneously can be problematic
|
LDAPv2 is considered historical. As deploying both LDAPv2 and
|
||||||
and generally should be avoided. As LDAPv3 is more consistenly
|
LDAPv3 simultaneously can be quite problematic, LDAPv2 should should
|
||||||
implemented and supports all the features of LDAPv2, use of LDAPv3
|
be avoided.
|
||||||
is highly recommended.
|
|
||||||
|
|
||||||
|
|
||||||
H2: What is slapd and what can it do?
|
H2: What is slapd and what can it do?
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
H1: Schema Specification
|
H1: Schema Specification
|
||||||
|
|
||||||
This chapter describes how to extend the schema used by {{slapd}}(8).
|
This chapter describes how to extend the user schema used by {{slapd}}(8).
|
||||||
The first section, {{SECT:Distributed Schema Files}} details optional
|
The first section, {{SECT:Distributed Schema Files}} details optional
|
||||||
schema definitions provided in the distribution and where to obtain
|
schema definitions provided in the distribution and where to obtain
|
||||||
other definitions.
|
other definitions.
|
||||||
@ -31,7 +31,6 @@ core.schema OpenLDAP {{core}} (required)
|
|||||||
cosine.schema Cosine and Internet X.500 (useful)
|
cosine.schema Cosine and Internet X.500 (useful)
|
||||||
inetorgperson.schema InetOrgPerson (useful)
|
inetorgperson.schema InetOrgPerson (useful)
|
||||||
misc.schema Assorted (experimental)
|
misc.schema Assorted (experimental)
|
||||||
nadf.schema North American Directory Forum (FYI)
|
|
||||||
nis.schema Network Information Services (FYI)
|
nis.schema Network Information Services (FYI)
|
||||||
openldap.schema OpenLDAP Project (experimental)
|
openldap.schema OpenLDAP Project (experimental)
|
||||||
!endblock
|
!endblock
|
||||||
@ -51,15 +50,16 @@ FAQ ({{URL:http://www.openldap.org/faq/}}).
|
|||||||
Note: You should not modify any of the schema items defined
|
Note: You should not modify any of the schema items defined
|
||||||
in provided files.
|
in provided files.
|
||||||
|
|
||||||
|
|
||||||
H2: Extending Schema
|
H2: Extending Schema
|
||||||
|
|
||||||
Schema used by {{slapd}}(8) may be extended to support additional
|
Schema used by {{slapd}}(8) may be extended to support additional
|
||||||
syntaxes, matching rules, attribute types, and object classes.
|
syntaxes, matching rules, attribute types, and object classes. This
|
||||||
This chapter details how to add attribute types and object classes
|
chapter details how to add user application attribute types and
|
||||||
using the syntaxes and matching rules already supported by slapd.
|
object classes using the syntaxes and matching rules already supported
|
||||||
slapd can also be extended to support additional syntaxes
|
by slapd. slapd can also be extended to support additional syntaxes,
|
||||||
and matching rules, but this requires some programming and hence
|
matching rules and system schema, but this requires some programming
|
||||||
is not discussed here.
|
and hence is not discussed here.
|
||||||
|
|
||||||
There are five steps to defining new schema:
|
There are five steps to defining new schema:
|
||||||
^ obtain Object Identifer
|
^ obtain Object Identifer
|
||||||
@ -68,6 +68,7 @@ There are five steps to defining new schema:
|
|||||||
+ define custom attribute types (if necessary)
|
+ define custom attribute types (if necessary)
|
||||||
+ define custom object classes
|
+ define custom object classes
|
||||||
|
|
||||||
|
|
||||||
H3: Object Identifiers
|
H3: Object Identifiers
|
||||||
|
|
||||||
Each schema element is identified by a globally unique
|
Each schema element is identified by a globally unique
|
||||||
@ -196,7 +197,7 @@ where Attribute Type Description is defined by the following
|
|||||||
>
|
>
|
||||||
|
|
||||||
where whsp is a space ('{{EX: }}'), numericoid is a globally unique
|
where whsp is a space ('{{EX: }}'), numericoid is a globally unique
|
||||||
OID in dotted-decimal form (e.g. {{EX:1.2.3}}), qdescrs is one or
|
OID in dotted-decimal form (e.g. {{EX:1.1.0}}), qdescrs is one or
|
||||||
more names, woid is either the name or OID optionally followed
|
more names, woid is either the name or OID optionally followed
|
||||||
length specifier (e.g {{EX:{10}}}).
|
length specifier (e.g {{EX:{10}}}).
|
||||||
|
|
||||||
@ -219,7 +220,7 @@ and a brief description. Each name is an alias for the OID.
|
|||||||
The first attribute, {{EX:name}}, holds values of {{EX:directoryString}}
|
The first attribute, {{EX:name}}, holds values of {{EX:directoryString}}
|
||||||
(UTF-8 encoded Unicode) syntax. The syntax are specified by OID
|
(UTF-8 encoded Unicode) syntax. The syntax are specified by OID
|
||||||
(1.3.6.1.4.1.1466.115.121.1.15 identifies the directoryString
|
(1.3.6.1.4.1.1466.115.121.1.15 identifies the directoryString
|
||||||
syntax). An length recommendation of 32768 is specified. Servers
|
syntax). A length recommendation of 32768 is specified. Servers
|
||||||
should support values of this length, but may support longer values
|
should support values of this length, but may support longer values
|
||||||
The field does NOT specify a size constraint, so is ignored on
|
The field does NOT specify a size constraint, so is ignored on
|
||||||
servers (such as slapd) which don't impose such size limits. In
|
servers (such as slapd) which don't impose such size limits. In
|
||||||
@ -230,7 +231,6 @@ matching rules (OpenLDAP supports these and many more).
|
|||||||
!block table; align=Center; coltags="EX,EX,N"; \
|
!block table; align=Center; coltags="EX,EX,N"; \
|
||||||
title="Table 6.3: Commonly Used Syntaxes"
|
title="Table 6.3: Commonly Used Syntaxes"
|
||||||
Name OID Description
|
Name OID Description
|
||||||
binary 1.3.6.1.4.1.1466.115.121.1.5 BER/DER data
|
|
||||||
boolean 1.3.6.1.4.1.1466.115.121.1.7 boolean value
|
boolean 1.3.6.1.4.1.1466.115.121.1.7 boolean value
|
||||||
distinguishedName 1.3.6.1.4.1.1466.115.121.1.12 DN
|
distinguishedName 1.3.6.1.4.1.1466.115.121.1.12 DN
|
||||||
directoryString 1.3.6.1.4.1.1466.115.121.1.15 UTF-8 string
|
directoryString 1.3.6.1.4.1.1466.115.121.1.15 UTF-8 string
|
||||||
@ -249,9 +249,10 @@ Printable String 1.3.6.1.4.1.1466.115.121.1.44 printable string
|
|||||||
title="Table 6.4: Commonly Used Matching Rules"
|
title="Table 6.4: Commonly Used Matching Rules"
|
||||||
Name Type Description
|
Name Type Description
|
||||||
booleanMatch equality boolean
|
booleanMatch equality boolean
|
||||||
|
octetStringMatch equality octet string
|
||||||
objectIdentiferMatch equality OID
|
objectIdentiferMatch equality OID
|
||||||
distinguishedNameMatch equality DN
|
distinguishedNameMatch equality DN
|
||||||
uniqueMemberMatch equality DN with optional UID
|
uniqueMemberMatch equality Name with optional UID
|
||||||
numericStringMatch equality numerical
|
numericStringMatch equality numerical
|
||||||
numericStringOrderingMatch ordering numerical
|
numericStringOrderingMatch ordering numerical
|
||||||
numericStringSubstringsMatch substrings numerical
|
numericStringSubstringsMatch substrings numerical
|
||||||
@ -319,9 +320,9 @@ syntax can be defined, e.g.:
|
|||||||
> SYNTAX 1.3.6.1.4.1.1466.115.121.1.40
|
> SYNTAX 1.3.6.1.4.1.1466.115.121.1.40
|
||||||
> SINGLE-VALUE )
|
> SINGLE-VALUE )
|
||||||
|
|
||||||
As noted in the description, LDAP has no knowledge of the
|
In this case, the syntax doesn't specify the format of the photo.
|
||||||
format of the photo. It's assumed that all applications
|
It's assumed (maybe incorrectly) that all applications accessing
|
||||||
accessing this attribute agree on the handling of values.
|
this attribute agree on the handling of values.
|
||||||
|
|
||||||
If you wanted to support multiple photo formats, you could define
|
If you wanted to support multiple photo formats, you could define
|
||||||
a separate attribute type for each format, prefix the photo
|
a separate attribute type for each format, prefix the photo
|
||||||
@ -330,7 +331,12 @@ with some typing information, or describe the value using
|
|||||||
|
|
||||||
Another alternative is for the attribute to hold a {{TERM:URI}}
|
Another alternative is for the attribute to hold a {{TERM:URI}}
|
||||||
pointing to the photo. You can model such an attribute after
|
pointing to the photo. You can model such an attribute after
|
||||||
{{EX:labeledURI}} ({{REF:RFC2079}}).
|
{{EX:labeledURI}} ({{REF:RFC2079}}) or simply create a subtype,
|
||||||
|
e.g.:
|
||||||
|
|
||||||
|
> attributetype ( 1.1.2.1.3 NAME 'myPhotoURI'
|
||||||
|
> DESC 'URI and optional label referring to a photo'
|
||||||
|
> SUP labeledURI )
|
||||||
|
|
||||||
|
|
||||||
H3: Object Class Specification
|
H3: Object Class Specification
|
||||||
@ -358,7 +364,7 @@ where Object Class Description is defined by the following
|
|||||||
> whsp ")"
|
> whsp ")"
|
||||||
|
|
||||||
where whsp is a space ('{{EX: }}'), numericoid is a globally unique
|
where whsp is a space ('{{EX: }}'), numericoid is a globally unique
|
||||||
OID in numeric form (e.g. {{EX:1.2.3}}), qdescrs is one or more
|
OID in numeric form (e.g. {{EX:1.1.0}}), qdescrs is one or more
|
||||||
names, and oids is one or more names and/or OIDs.
|
names, and oids is one or more names and/or OIDs.
|
||||||
|
|
||||||
|
|
||||||
@ -454,5 +460,33 @@ result in a file with contains of:
|
|||||||
> MAY 'myPhoto' )
|
> MAY 'myPhoto' )
|
||||||
|
|
||||||
Save in an appropriately named file (e.g. {{F:my.schema}}).
|
Save in an appropriately named file (e.g. {{F:my.schema}}).
|
||||||
You may now include this file in your {{slapd.conf}}(8) file.
|
You may now include this file in your {{slapd.conf}}(5) file.
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
|
||||||
|
H3: OID Macros
|
||||||
|
|
||||||
|
To ease the management and use of OIDs, {{slapd}}(8) supports
|
||||||
|
{{Object Identifier}} macros. The {{EX:objectIdentifier}} is used
|
||||||
|
to equate a macro (name) with a OID. The OID may possibly be derived
|
||||||
|
from a previously defined OID macro. The {{slapd.conf(5)}} syntax
|
||||||
|
is:
|
||||||
|
|
||||||
|
E: objectIdentifier <name> { <oid> | <name>[:<suffix>] }
|
||||||
|
|
||||||
|
The following demonstrates definition of a set of OID macros
|
||||||
|
and their use in defining schema elements:
|
||||||
|
|
||||||
|
> objectIdentifier myOID 1.1
|
||||||
|
> objectIdentifier mySNMP myOrgOID:1
|
||||||
|
> objectIdentifier myLDAP myOrgOID:2
|
||||||
|
> objectIdentifier myAttributeType myOrgLDAP:1
|
||||||
|
> objectIdentifier myObjectClass myOrgLDAP:2
|
||||||
|
> attributetype ( myAttributeType:3 NAME 'myPhotoURI'
|
||||||
|
> DESC 'URI and optional label referring to a photo'
|
||||||
|
> SUP labeledURI )
|
||||||
|
> objectclass ( myObjectClass:1 NAME 'myPhotoObject'
|
||||||
|
> DESC 'mixin myPhoto'
|
||||||
|
> AUXILIARY
|
||||||
|
> MAY myPhoto )
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
!macro HTML_FOOTER
|
!macro HTML_FOOTER
|
||||||
{{INLINE:<FONT COLOR="#808080" FACE="Arial,Verdana,Helvetica" SIZE="1">}}
|
{{INLINE:<FONT COLOR="#808080" FACE="Arial,Verdana,Helvetica" SIZE="1">}}
|
||||||
{{INLINE:<B>________________<BR><SMALL>}}
|
{{INLINE:<B>________________<BR><SMALL>}}
|
||||||
[[c]] Copyright 2001,
|
[[c]] Copyright 2002,
|
||||||
{{INLINE:<A HREF="/foundation/">OpenLDAP Foundation</A>}},
|
{{INLINE:<A HREF="/foundation/">OpenLDAP Foundation</A>}},
|
||||||
{{EMAIL: info@OpenLDAP.org}}
|
{{EMAIL: info@OpenLDAP.org}}
|
||||||
{{INLINE:</SMALL><BR></B></FONT>}}
|
{{INLINE:</SMALL><BR></B></FONT>}}
|
||||||
|
@ -54,7 +54,7 @@
|
|||||||
<P>
|
<P>
|
||||||
<FONT COLOR="#808080" FACE="Arial,Verdana,Helvetica" SIZE="1"><B>
|
<FONT COLOR="#808080" FACE="Arial,Verdana,Helvetica" SIZE="1"><B>
|
||||||
________________<BR>
|
________________<BR>
|
||||||
<SMALL>© Copyright 2001, <A HREF="http://www.OpenLDAP.org/foundation/">OpenLDAP Foundation</A>, <A HREF="mailto:info@OpenLDAP.org">info@OpenLDAP.org</A></SMALL></B></FONT>
|
<SMALL>© Copyright 2002, <A HREF="http://www.OpenLDAP.org/foundation/">OpenLDAP Foundation</A>, <A HREF="mailto:info@OpenLDAP.org">info@OpenLDAP.org</A></SMALL></B></FONT>
|
||||||
|
|
||||||
!endblock
|
!endblock
|
||||||
!endmacro
|
!endmacro
|
||||||
@ -90,7 +90,7 @@ ________________<BR>
|
|||||||
<P>
|
<P>
|
||||||
<FONT COLOR="#808080" FACE="Arial,Verdana,Helvetica" SIZE="1"><B>
|
<FONT COLOR="#808080" FACE="Arial,Verdana,Helvetica" SIZE="1"><B>
|
||||||
________________<BR>
|
________________<BR>
|
||||||
<SMALL>© Copyright 2001, <A HREF="http://www.OpenLDAP.org/foundation/">OpenLDAP Foundation</A>, <A HREF="mailto:info@OpenLDAP.org">info@OpenLDAP.org</A></SMALL></B></FONT>
|
<SMALL>© Copyright 2002, <A HREF="http://www.OpenLDAP.org/foundation/">OpenLDAP Foundation</A>, <A HREF="mailto:info@OpenLDAP.org">info@OpenLDAP.org</A></SMALL></B></FONT>
|
||||||
|
|
||||||
!endblock
|
!endblock
|
||||||
!endmacro
|
!endmacro
|
||||||
|
Loading…
Reference in New Issue
Block a user