How to Work with Open Directory in Leopard Part 1: Life Without NetInfo
Directory services is a broad term for the technologies that individual computers and servers use to store user accounts, groups, and related information. Directory services are responsible for everything from authenticating your password at the login window to the file system verifying that you (or a group that you’re a member of) have access to a file when you try to open it.
Outside the realm of user accounts, directory services maintain computer account information, managed preferences, and network mount records.
Mac OS X relies heavily on directory services to provide all manner of identification, setting environment variables, and provide access control both for local and network accounts.
The native Mac OS X directory services architecture is referred to as Open Directory and consists of a wide variety of components that are used both in a network environment and on a stand-alone computer. Open Directory both stores information and acts as an abstraction layer between applications and Mac OS X system components and that information.
Applications (and many of Mac OS X’s core components) don’t need to know about how to locate user information, for example. Instead, they can pass the request to the appropriate Open Directory process and that process provides the appropriate response.
A common example is the login window passing a username and password in encrypted form to Open Directory for validation. Login window doesn’t need to know whether the user is a local or network user or the server that is hosting the account for a user (or even the platform of that server).
Open Directory components process the request, whether or not the information itself resides in Open Directory itself. More background about how directory services in general and Open Directory can be found in this article.
In Leopard, Open Directory has gone through some major changes, both on the local computer level and on the network level when using shared accounts stored on Mac OS X Server or via another platform, such as Microsoft’s Active Directory.
This article focuses on changes on the local level. Part 2 of this series will look at some of the changes to Open Directory in Mac OS X Server.