The Fun of LDAP - objectClass Attributes

by Tom Adelstein

OK - I actually like and enjoy LDAP, but do not allow that to cloud your judgment. LDAP took much more of my time and effort to learn than Bind and/or DNS. And I recall sitting in front of DNS chapters wondering why we needed another language to do something as easy as mapping a friendly name to an IP address. This jargon stuff has value though such as constraing insomnia.

So, if you need some sleep and don't care about writers who use phrases like "much more", then we can move along and discuss the notion of an objectClass. Are we having fun yet?

The entries in an LDAP directory, like the entries in a phone book or contact list require objectClass attributes which need at least one value. That's just common sense right?

Think of an objectClass value as a template for the information you wish to store in an entry or to make the jargon complete in the name space.

We haven't touched on distinguished names and relative distinguished names but pretend like you know what they mean, please. In the example below, think of an "organizational unit" as the top of a hierarchical file system with limbs below it.

The top of directory for our purpose is ou=computers,dc=centralsoft,dc=org. So, if you wanted to find a list of computers in, you would have this area of the directory called computers. Computers would appear in your LDAP browser in plain English as simply "Computers" and below that one or more computers.

In LDAP parlance setting up the area of the directory for computers would look like this:

dn: ou=computers,dc=centralsoft,dc=org
objectclass: organizationalUnit
ou: computers
pc: wkst01
description: Container for all computers existing within the domain

The objectClass attribute we used in this example was "pc". The only pc that the directory contains at the moment is "wkst01". You could just as easily used "srv01" for "server01". That's not the point though.

Technically speaking, of course, RFCs define many attributes we find in LDAP schemas. For example RFC 2256 defines the attribute for telephoneNumber, which intuitively makes total sense to the average user of a contact list (sic).

We just touched the surface of the objectClass discussion. Don't worry if it does not make much sense at this point. Just know that in the language or jargon of LDAP, you'll have to get it about objectClass attributes or you won't have much to do with constructing LDAP directories.