Programming with Directory Services
As a programmer, you frequently need to deal with directory information, whether you realize it or not. Your application uses Directory Services each time it looks up a host entry, authenticates a password, or uses a printer. The Open Directory architecture unifies what used to be a random collection of flat files in /etc. The good news is that the flat files still work. The other good news is that there is a brave new world just beyond those flat files. So, while all your old Unix code should work with the Open Directory architecture, you should look for new ways to accomplish old tasks, especially if you can continue writing portable code.
To get at directory information, Unix applications typically go
through the C library using such functions as gethostent( )
. Higher-level APIs, such as Pluggable Authentication
Modules (PAM) and Common Data Security Architecture (CDSA), also use
the C library. Figure 3-2 shows how this works. The
C library connects to lookupd, a thin shim that
is the doorway to the DirectoryService daemon.
The DirectoryService daemon consults the
available plug-ins until it finds the one that can answer the
directory query.
Get Mac OS X for Unix Geeks now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.