Novell is now a part of Micro Focus

Mutual Containment with NDS eDirectory

Articles and Tips: tip

Susan Perrin
Novell, Inc.

01 Apr 2001


In many LDAP servers, all objects are containers. Novell Directory Services (NDS) eDirectory preserves the concept of a leaf object. In NDS, leaf and container objects may be contained by other containers. How do you define two container objects, both of which may contain the other?

If you're using an LDIF file, define the first container without a containment rule. Next, define the second container with containment to the first. Then edit the first container to provide containment by the second. (This feature to edit containment property is only available in eDirectory 8.5 and higher.)

Using the above explanation, the LDIF file would similar to the following (note that the default for X-NDS_NOT_CONTAINER is false, but this is listed for clarity):

# create first class
dn: cn=schema
changetype: modify
add: objectClasses
objectClasses: ( 2.16.840.1.113719.4.1.6.10 NAME 'test1Replace' DESC 'Standard
ObjectClass' SUP top STRUCTURAL MUST (accountBalance $ cn ) MAY acl X-NDS_NAMING
'cn' X-NDS_CONTAINMENT ('country' 'locality' 'organization' 'organizationalUnit'
'domain' ) X-NDS_NOT_CONTAINER '0')

# create second class (include containment by # first class )
dn: cn=schema
changetype: modify
add: objectClasses
objectClasses: ( 2.16.840.1.113719.4.1.6.11 NAME 'test2Replace' DESC 'Standard 
ObjectClass' SUP top STRUCTURAL MUST (accountBalance $ cn ) MAY acl
X-NDS_NAM ING 'cn' X-NDS_CONTAINMENT ('country' 'locality' 'organization'
'organizationalUnit' 'domain' 'test1Replace' ) X-NDS_NOT_CONTAINER '0')

# modify first class to add containment by # second class
dn: cn=schema
changetype: modify
delete: objectClasses
objectClasses: ( 2.16.840.1.113719.4.1.6.10 NAME 'test1Replace' )
-
add: objectClasses
objectClasses: ( 2.16.840.1.113719.4.1.6.10 NAME 'test1Replace' DESC 'Standard
ObjectClass' SUP top STRUCTURAL MUST ( accountBalance $ cn ) MAY acl
X-NDS_NAMING 'cn' X-NDS_CONTAINMENT ('country' 'locality' 'organization'
'organizationalUnit' 'domain' 'test2Replace' ) X-NDS_NOT_CONTAINER '0')

* Originally published in Novell AppNotes


Disclaimer

The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.

© Micro Focus