Start of change

Recommended practices for directory structure

The Directory Server is often used as a repository for users and groups. This section describes some recommended practices for setting up a structure that is optimized for managing users and groups. This structure and associated security model can be extended to other uses of the directory.

Users are typically stored in a single, or few, locations. You might have a single container, cn=users, that is the parent entry for all users, or separate containers for distinct sets of users that are administered separately. For example, employees, vendors, and self-registered Internet users might be located under objects named cn=employees, cn=vendors, and cn=internet users, respectively. One might be tempted to place people under the organizations they belong to; however, this can create difficulties when they move to another organization as the directory entry then also needs to be moved and groups or other data sources (both internal and external to the directory) might have to be updated to reflect the new DN. The relationship of users to the organizational structure can be captured within the user entry using directory attributes such as "o" (organization name), "ou" (organizational unit name), and departmentNumber which are part of the standard schema for organizationalPerson and inetOrgPerson.

Similarly, groups are typically placed in a separate container, for example a container named "cn=groups".

By organizing users and groups in this manner, there are only a few places where access control lists (ACLs) need to be set.

Depending on how the directory server is used, and how users and groups are managed, you might use one of the following access control patterns:

Applying this type of structure and access control, your initial directory might look like this:

Figure 3. Example directory structure
Example directory structure
Note:
End of change