OpenDirector y is a directory service architecture whose programming interface provides a centralized way
forapplications and services to retrieve information stored in directories. Often, the information that is being
soughtis configuration information stored in a NetInfo database or in flat files, with each file having its own
recordformat and field delimiters. Examples of configuration information include users and groups
(/etc/passwdand /etc/group), and automount information (/mounts). Open Directory uses standard
recordtypes and attributes to describe configuration information so that Open Directory clients have no
needto know the details of record formats and data encoding.
Earlierdirectory services, such as lookupd and NetInfo, took the first steps in providing access to configuration
informationbut were limited in their capabilities. For example, lookupd provides support for reading but
doesnot provide support for writing, and it does not provide support for authentication. Open Directory
continuesthe evolution of directory services by providing expanded functionality. For example, Open Directory
canwrite data as well as read it, and Open Directory includes support for a variety of authentication methods.
Whileproviding support for lookupd and NetInfo, Open Directory’s primary protocol is LDAP (supporting
LDAPv2and LDAPv3). As a result, Open Directory provides a way of accessing and sharing data using both
LDAPand NetInfo. Open Directory provides seamless and automatic integration of Apple Computer’sdirectory
servicesand third-party directory services including Active Directory, iPlanet and OpenLDAP.

Open Directory Overview

OpenDirector y consists of the DirectoryService daemon and Open Directory plug-ins. Apple Computer
providesOpen Directory plug-ins for LDAPv3 (which suppor ts LDAPv2), NetInfo,AppleTalk, SLP,Windows,
andBonjour. The AppleTalk,SLP,SMB, and Bonjour Open Director y plug-ins discoverser vicesthat are available
onthe local network. In Mac OS X, lookupd resolves DNS queries through UNIX function calls like
gethostbyname().The Open Directory LDAP plug-in provides information about users and groups of users.
Forinformation on writing your own Open Directory plug-in, see the document Open Directory Plug-ins.
Open Directory Overview 9
2007-01-08 | ©2007 Apple Inc. All Rights Reserved.
CHAPTER 1
Concepts