The owner or authorized user of a valid copy of
Mac OS X Server software may reproduce this
publication for the purpose of learning to use such
software. No part of this publication may be reproduced
or transmitted for commercial purposes, such as selling
copies of this publication or for providing paid for
support services.
Every effort has been made to ensure that the
information in this manual is accurate. Apple Computer,
Inc., is not responsible for printing or clerical errors.
Use of the “keyboard” Apple logo (Option-Shift-K) for
commercial purposes without the prior written consent
of Apple may constitute trademark infringement and
unfair competition in violation of federal and state laws.
Apple, the Apple logo, AirPort, AppleScript, AppleShare,
AppleTalk, ColorSync, FireWire, Keychain, Mac, Mac OS,
Macintosh, Power Mac, Power Macintosh, QuickTime,
Sherlock, and WebObjects are trademarks of Apple
Computer, Inc., registered in the U.S. and other
countries. Extensions Manager, and Finder are
trademarks of Apple Computer, Inc.
Adobe and PostScript are trademarks of Adobe Systems
Incorporated.
Java and all Java-based trademarks and logos are
trademarks or registered trademarks of Sun
Microsystems, Inc. in the U.S. and other countries.
Netscape Navigator is a trademark of Netscape
Communications Corporation.
RealAudio is a trademark of Progressive Networks, Inc.
UNIX is a registered trademark in the United States and
other countries, licensed exclusively through
X/Open Company, Ltd.
034-2352/09-20-03
3
Contents
Preface9About This Guide
10
Using This Guide
11
Getting Additional Information
Chapter113Directory Service Concepts
15
Directory Services and Directory Domains
16
A Historical Perspective
17
18
19
21
21
21
22
24
25
25
Data Consolidation
Data Distribution
Uses of Directory Data
Inside a Directory Domain
Local and Shared Directory Domains
About the Local Directory Domain
About Shared Directory Domains
Shared Data in Existing Directory Domains
Access to Directory Services
Discovery of Network Services
Chapter227Open Directory Search Policies
27
Search Policy Levels
28
28
29
30
32
32
Local Directory Search Policy
Two-Level Search Policies
Multilevel Search Policies
Automatic Search Policies
Custom Search Policies
Search Policies for Authentication and Contacts
Chapter333User Authentication With Open Directory
33
Authentication and Authorization
34
Determining Which Authentication Option to Use
35
Open Directory Authentication
35
35
36
Password Policies
Which Users Can Have Open Directory Passwords
Open Directory Password Server Authentication Methods
3
36
37
37
37
38
39
39
40
41
42
Contents of Open Directory Password Server Database
Kerberos Authentication
Kerberized Services
Kerberos Principals and Realms
Kerberos Authentication Process
Single Signon
Shadow and Crypt Passwords
Encrypting Shadow and Crypt Passwords in User Accounts
Estimating Directory and Authentication Requirements
46
Identifying Servers for Hosting Shared Domains
47
Replicating Open Directory Services
47
Replication in a Multi-Building Campus
48
Improving Performance and Redundancy
49
Open Directory Security
50
Tools for Managing Open Directory Services
50
51
51
51
52
Server Admin
Directory Access
Workgroup Manager
Command-Line Tools
NetInfo Manager
Chapter553Setting Up Open Directory Services
53
Setup Overview
54
Before You Begin
54
Setting Up Open Directory With Server Assistant
55
Managing Open Directory on a Remote Server
55
Setting Up a Standalone Server
56
Setting Up an Open Directory Master
57
Setting Up an Open Directory Replica
59
Setting Up Open Directory Failover
60
Setting Up a Connection to a Directory System
61
Setting Up Single Signon and Kerberos
61
62
Setting Up an Open Directory Master for Single Signon and Kerberos
Delegating Authority to Join an Open Directory Master for Single Signon and
Kerberos
63
4
Joining a Server to an Open Directory Master for Single Signon and Kerberos
Contents
63
Setting LDAP Options
64
64
65
65
65
66
68
69
Setting the Replication Frequency of an Open Directory Master
Changing the Location of an LDAP Database
Limiting Search Results for LDAP Service
Changing the Search Timeout for LDAP Service
Setting up SSL for LDAP Service
Migrating a Directory Domain From Netinfo to LDAP
Switching Directory Access From NetInfo to LDAP
Disabling NetInfo After Migrating to LDAP
Chapter671Managing User Authentication
72
Composing a Password
72
Changing a User’s Password
73
Resetting the Passwords of Multiple Users
74
Changing the Global Password Policy
75
Setting Password Policies for Individual Users
76
Changing a User’s Password Type
76
78
79
79
79
80
80
81
81
82
Changing the Password Type to Open Directory
Changing the Password Type to Crypt Password
Changing the Password Type to Shadow Password
Enabling Single Signon Authentication for a User
Enabling Kerberos Authentication for a User
Enabling LDAP Bind Authentication for a User
Assigning Administrator Rights for Open Directory Authentication
Exporting and Importing Users Whose Password Type Is Open Directory
Exporting and Importing Authentication Manager Users
Migrating Passwords to Open Directory Authentication
Chapter783Managing Directory Access
83
Setting Up Services in Directory Access
84
84
84
85
85
86
86
86
87
87
88
89
89
Enabling or Disabling Active Directory Service
Enabling or Disabling AppleTalk Service Discovery
Enabling or Disabling BSD Flat File and NIS Directory Services
Enabling or Disabling LDAP Directory Services
Enabling or Disabling NetInfo Directory Services
Enabling or Disabling Rendezvous Service Discovery
Enabling or Disabling SLP Service Discovery
Enabling or Disabling SMB Service Discovery
Configuring SMB Service Discovery
Setting Up the Authentication and Contacts Search Policies
Enabling or Disabling Use of a DHCP-Supplied LDAP Directory
91Showing or Hiding Options for LDAP Directories
92Configuring Access to an LDAP Directory
93Changing a Configuration for Accessing an LDAP Directory
93Duplicating a Configuration for Accessing an LDAP Directory
94Deleting a Configuration for Accessing an LDAP Directory
95Changing the Connection Settings for an LDAP Directory
96Configuring LDAP Searches and Mappings
98Mapping Config Record Attributes for LDAP Directories
98Editing RFC 2307 Mapping to Enable Creating Users
99Preparing a Read-Only LDAP Directory for Mac OS X
100Populating LDAP Directories With Data for Mac OS X
100Accessing an Active Directory Domain
101Learning About the Active Directory Plug-in
102Configuring Access to an Active Directory Domain
104Enabling or Disabling Active Directory Credential Caching
104Specifying a Preferred Active Directory Server
105Mapping the UID to an Active Directory Attribute
105Changing the Active Directory Groups That Can Administer the Computer
106Editing User Accounts and Other Records in Active Directory
106Setting Up LDAP Access to Active Directory Domains
107Accessing an NIS Domain
108Using BSD Configuration Files
109Setting Up Data in BSD Configuration Files
109Accessing Legacy NetInfo Domains
11 0About NetInfo Binding
111Configuring NetInfo Binding
111Adding a Machine Record to a Parent NetInfo Domain
112Configuring Static Ports for Shared NetInfo Domains
113Setting Up Directory Access on a Remote Server
Chapter8115Maintenance and Problem Solving
11 5Monitoring Open Directory
11 5Viewing Open Directory Status and Logs
11 6Monitoring Open Directory Authentication
11 6Directly Viewing and Editing Directory Data
11 6Showing the Directory Inspector
117Hiding the Directory Inspector
117Changing a User’s Short Name
11 8Backing Up Open Directory Files
120Restoring Open Directory Files
121Solving Directory Access Problems
6
Contents
121A Delay Occurs During Startup
122Solving Authentication Problems
122A User’s Password Can’t Be Modified
122A User Can’t Authenticate for VPN Service
122A User’s Password Type Can’t Be Changed to Open Directory
122Kerberos Users Can’t Authenticate
123Resetting an Administrator Password
AppendixA125Mac OS X Directory Data
126Open Directory Extensions to LDAP Schema
126Object Classes in Open Directory LDAP Schema
132Attributes in Open Directory LDAP Schema
145Mapping Standard Attributes to LDAP and Active Directory
145Mappings for Users
149Mappings for Groups
150Mappings for Mounts
151Mappings for Computers
153Mappings for ComputerLists
153Mappings for Config
154Mappings for People
156Mappings for PresetComputerLists
156Mappings for PresetGroups
157Mappings for PresetUsers
159Mappings for Printers
160Mappings for AutoServerSetup
160Mappings for Locations
161Standard Attributes in User Records
165User Data That Mac OS X Server Uses
166Standard Attributes in Group Records
168Standard Attributes in Computer Records
169Standard Attributes in Computer List Records
170Standard Attributes in Mount Records
171Standard Attributes in Config Records
AppendixB173Open Directory Password Server Authentication Methods
This guide describes the directory services and
authentication services that Mac OS X Server can provide
to Mac OS X client computers.
Here is a summary of each chapter’s contents:
• Chapter 1, “Directory Service Concepts,” explains what directory domains are, how
they are used, and how they are organized. It also discusses how the discovery of
network services is integrated with directory services.
• Chapter 2, “Open Directory Search Policies,” describes search policies with one or
more directory domains, and describes automatic, custom, and local-only search
policies.
• Chapter 3, “User Authentication With Open Directory,” describes Open Directory
authentication, shadow and crypt passwords, Kerberos, LDAP bind, single signon,
and cached authentication for mobile accounts.
• Chapter 4, “Open Directory Planning,” helps you assess your directory domain needs,
estimate directory and authentication requirements, identify servers of hosting
shared domains, improve performance and redundancy, deal with replication in a
multi-building campus, and make your Open Directory services secure. This chapter
also introduces the tools you use to manage Open Directory services.
• Chapter 5, “Setting Up Open Directory Services,” tells you how to set the Open
Directory role of Mac OS X Server: standalone server, connected to a directory
system, Open Directory master, or Open Directory replica. This chapter also tells you
how to set some options of the LDAP service of an Open Directory master or replica
and explains how to migrate a directory domain from NetInfo to LDAP. This chapter
also tells you how to set up single signon and Kerberos authentication on an Open
Directory master.
• Chapter 6, “Managing User Authentication,” describes how to set password policies,
change a user’s password type, assign administrator rights for Open Directory
authentication, reset passwords of imported user accounts, and migrate passwords
to Open Directory authentication.
Preface
9
• Chapter 7, “Managing Directory Access,” explains how to use the Directory Access
application. This chapter tells you how to set up services and authentication and
contacts search policies. This chapter also explains how to configure access to
different directory domains: LDAP, Active Directory, NIS, BSD configuration files, and
NetInfo.
• Chapter 8, “Maintenance and Problem Solving,” tells you how to monitor Open
Directory services, directly view and edit directory data with the Inspector, and back
up Open Directory files. This chapter also describes solutions to some problems you
may encounter.
• Appendix A, “Mac OS X Directory Data,” lists the Open Directory extensions to the
LDAP schema and specifies the standard record types and attributes of Mac OS X.
• Appendix B, “Open Directory Password Server Authentication Methods,” describes
the authentication methods that Open Directory supports.
• Appendix C, “Authentication Manager,” tells you about the Authentication Manager
technology that provides compatibility with user accounts created in Mac OS X
Server version 10.0–10.2.
• The Glossary defines terms you’ll encounter as you read this guide.
Using This Guide
The chapters in this guide are arranged in the order that you’re likely to need them
when setting up and managing Open Directory on your server.
• Review Chapter 1 through Chapter 3 to acquaint yourself with Open Directory
concepts: directory services, search policies, and authentication.
• Read Chapter 4 when you’re ready to plan directory services and password
authentication for your network.
• After you finish planning, use the instructions in Chapter 5 to set up Open Directory
services.
• Whenever you need to set password policies or change password settings in a user
account, look for instructions in Chapter 6.
• If you need to set up or change how a Mac OS X or Mac OS X Server computer
accesses directory domains, follow the instructions in Chapter 7.
• For ongoing maintenance of directory and authentication services, use Chapter 8.
10Preface About This Guide
Getting Additional Information
Mac OS X Server comes with a suite of guides that explain other services and provide
instructions for configuring, managing, and troubleshooting those services. Most of
these documents are on the server discs in the form of PDF files. All of them are
available in PDF format from www.apple.com/server/documentation.
This guideTells you how to
Mac OS X Server Getting Started
For Version 10.3 or Later
Mac OS X Server Migration To
Version 10.3 or Later
Mac OS X Server User
Management For Version 10.3 or
Later
Mac OS X Server File Services
Administration For Version 10.3 or
Later
Mac OS X Server Print Service
Administration For Version 10.3 or
Later
Mac OS X Server System Image
Administration For Version 10.3 or
Later
Mac OS X Server Mail Service
Administration For Version 10.3 or
Later
Mac OS X Server Web
Technologies Administration For
Version 10.3 or Later
Mac OS X Server Network Services
Administration For Version 10.3 or
Later
Mac OS X Server Windows
Services Administration For
Version 10.3 or Later
Mac OS X Server QuickTime
Streaming Server Administration
For Version 10.3 or Later
Mac OS X Server: Java
Application Server Administration
Mac OS X Server Command-Line
Administration For Version 10.3 or
Later
Understand the new features of Mac OS X Server version 10.3 and
prepare your server.
Reuse data and service settings on Mac OS X Server version 10.3
that are currently being used on earlier versions of the server.
Create and manage user, group, and computer accounts. Set up
managed preferences for Mac OS 9 and Mac OS X clients.
Share selected server volumes or folders among server clients
using these protocols: AFP, NFS, FTP, and SMB.
Host shared printers and manage their associated queues and print
jobs.
Create disk images and set up the server so that other Macintosh
computers can start up from those images over the network. This
guide covers NetBoot and Network Install.
Set up, configure, and administer mail services on the server.
Set up and manage a web server, including WebDAV, WebMail, and
web modules.
Set up, configure, and administer DHCP, DNS, IP firewall, NAT, and
VPN services on the server.
Set up and manage services for Windows users.
Set up and manage QuickTime streaming services.
Deploy and manage J2EE applications using a JBoss application
server on Mac OS X Server.
Use commands and configuration files to perform server
administration tasks in a UNIX command shell.
Preface About This Guide11
For more information, consult these resources:
• Read Me documents contain important updates and special information. Look for
them on the server discs.
• Online help, available from the Help menu in all the server applications, provides
onscreen instructions for administration tasks as well as late-breaking news and web
updates.
• Apple support webpages and the AppleCare Knowledge Base provide answers to
common questions and the latest information updates. These are available at
www.info.apple.com/
• Apple Training offers courses for technical coordinators and system administrators.
For a course catalog, visit the following website:
train.apple.com/
• Discussion groups and mailing lists put you in touch with other server administrators,
who may have already found solutions to problems you encounter. To find discussion
groups and mailing lists, visit the following websites:
discussions.info.apple.com/
www.lists.apple.com/
12Preface About This Guide
1Directory Service Concepts
1
A directory service provides a central repository for
information about computer users and network
resources in an organization.
Storing administrative data in a central repository has many benefits:
• Reduces data entry effort.
• Ensures all network services and clients have consistent information about users and
resources.
• Simplifies administration of users and resources.
• Provides identification, authentication, and authorization services for other network
services.
In education and enterprise environments, directory services are the ideal way to
manage users and computing resources. Organizations with as few as 10 people can
benefit by deploying a directory service.
Directory services can be doubly beneficial. They centralize system and network
administration, and they simplify a user’s experience on the network. With directory
services, information about all the users—such as their names, passwords, and
locations of network home directories—can be maintained centrally rather than on
each computer individually. Directory services can also maintain centralized
information about printers, computers, and other network resources. Having
information about users and resources centralized can reduce the system
administrator’s user management burden. In addition, users can log in to any
authorized computer on the network. Anywhere a user logs in, the user can get the
same home directory, and with it the user’s personal desktop appears, customized for
the user’s individual preferences. The user always has access to personal files and can
easily locate and use authorized network resources.
13
Apple has built an open, extensible directory services architecture, called Open
Directory, into Mac OS X and Mac OS X Server. A Mac OS X client or Mac OS X Server
computer can use Open Directory to retrieve authoritative information about users and
network resources from a variety of directory services:
• LDAP service on a Mac OS X Server system
• NetInfo service on a computer with Mac OS X or Mac OS X Server
• Active Directory service on a Microsoft Windows server
• OpenLDAP or other LDAP service on a third-party server such as Sun One or Novell
eDirectory
• NIS on a UNIX server
• BSD configuration files stored locally (not retrieved from a server)
Mac OS 9 and Mac OS 8 managed clients also use Open Directory to retrieve some user
information. For more information, see the Macintosh Manager chapter in the user
management guide (available at www.apple.com/server/documentation/).
In addition, Mac OS X and Mac OS X Server can use Open Directory to discover network
services, such as file servers, that make themselves known with the Rendezvous,
AppleTalk, SLP, or SMB service discovery protocols.
The Open Directory architecture also includes authentication service. Open Directory
can securely store and validate the passwords of users who want to log in to client
computers on your network or use other network resources that require
authentication. Open Directory can also enforce such policies as password expiration
and minimum length. Open Directory can also authenticate Windows computer users
for domain login, file service, print service, and other Windows services provided by
Mac OS X Server.
14Chapter 1 Directory Service Concepts
Directory Services and Directory Domains
A directory service acts as an intermediary between application and system software
processes, which need information about users and resources, and the directory domains that store the information. In Mac OS X and Mac OS X Server, Open Directory
provides directory services. Open Directory can access information in one directory
domain or several directory domains.
Users
Groups
Open
Printers
Computers
Mounts
Directory
domains
A directory domain stores information in a specialized database that is optimized to
handle a great many requests for information and to find and retrieve information
quickly.
Directory
Application and
system software
processes
Processes running on Mac OS X computers can use the Open Directory services to save
information in directory domains. For example, when you create a user account with
Workgroup Manager, it has Open Directory store user name and other account
information in a directory domain. Of course you can then review user account
information with Workgroup Manager, and it has Open Directory retrieve the user
information from a directory domain.
Chapter 1 Directory Service Concepts15
Other application and system software processes can also use the user account
information stored in directory domains. When someone attempts to log in to a
Mac OS X computer, the login process uses Open Directory services to validate the user
name and password.
Directory
domain
Open
Directory
WorkGroup Manager
A Historical Perspective
Like Mac OS X, Open Directory has a UNIX heritage. Open Directory provides access to
administrative data that UNIX systems have generally kept in configuration files, which
require much painstaking work to maintain. (Some UNIX systems still rely on
configuration files.) Open Directory consolidates the data and distributes it for ease of
access and maintenance.
16Chapter 1 Directory Service Concepts
Data Consolidation
For years, UNIX systems have stored administrative information in a collection of files
located in the /etc directory. This scheme requires each UNIX computer to have its own
set of files, and processes that are running on a UNIX computer read its files when they
need administrative information. If you’re experienced with UNIX, you probably know
about the files in the /etc directory—group, hosts, hosts.eq, master.passwd, and so
forth. For example, a UNIX process that needs a user’s password consults the /etc/
master.passwd file. The /etc/master.passwd file contains a record for each user account.
A UNIX process that needs group information consults the /etc/group file.
/etc/group
/etc/hosts
UNIX processes
/etc/master.passwd
Open Directory consolidates administrative information, simplifying the interactions
between processes and the administrative data they create and use.
Open
Directory
Mac OS X processes
Chapter 1 Directory Service Concepts17
Processes no longer need to know how and where administrative data is stored. Open
Directory gets the data for them. If a process needs the location of a user’s home
directory, the process simply has Open Directory retrieve the information. Open
Directory finds the requested information and then returns it, insulating the process
from the details of how the information is stored. If you set up Open Directory to
access administrative data in several directory domains, Open Directory automatically
consults them as needed.
Directory
domain
Open
Directory
Directory
domain
Mac OS X processes
Some of the data stored in a directory domain is identical to data stored in UNIX
configuration files. For example, the crypt password, home directory location, real
name, user ID, and group ID—all stored in the user records of a directory domain—
have corresponding entries in the standard /etc/passwd file. However, a directory
domain stores much additional data to support functions that are unique to Mac OS X,
such as support for managing Mac OS X client computers.
Data Distribution
Another characteristic of UNIX configuration files is that the administrative data they
contain is available only to the computer on which they are stored. Each computer has
its own UNIX configuration files. With UNIX configuration files, each computer that
someone wants to use must have that person’s user account settings stored on it, and
each computer must store the account settings for every person who can use the
computer. To set up a computer’s network settings, the administrator needs to go to
the computer and directly enter the IP address and other information that identifies the
computer on the network.
Similarly, when user or network information needs to be changed in UNIX
configuration files, the administrator must make the changes on the computer where
the files reside. Some changes, such as network settings, require the administrator to
make the same changes on multiple computers. This approach becomes unwieldy as
networks grow in size and complexity.
18Chapter 1 Directory Service Concepts
Open Directory solves this problem by letting you store administrative data in a
directory domain that can be managed by a network administrator from one location.
Open Directory lets you distribute the information so that it is visible on a network to
the computers that need it and the administrator who manages it.
Directory
domain
Open
Directory
System
administrator
Users
Uses of Directory Data
Open Directory makes it possible to consolidate and maintain network information
easily in a directory domain, but this information has value only if application and
system software processes running on network computers actually access the
information.
Here are some of the ways in which Mac OS X system and application software use
directory data:
• Login: As mentioned already, Workgroup Manager can create user records in a
directory domain, and these records can be used to authenticate users who log in to
Mac OS X computers and Windows computers. When a user specifies a name and a
password in the Mac OS X login window, the login process asks Open Directory to
authenticate the name and password. Open Directory uses the name to find the
user’s account record in a directory domain and uses additional data in the user
record to validate the password.
Chapter 1 Directory Service Concepts19
• Folder and file access: After logging in successfully, a user can access files and
folders. Mac OS X uses another data item from the user record—the user ID (UID)—
to determine the user’s access privileges for a file or folder that the user wants to
access. When a user accesses a folder or file, the file system compares this user’s UID
to the UID assigned to the folder or file. If the UIDs are the same, the file system
grants owner privileges (usually read and write privileges) to the user. If the UIDs are
different, the user doesn’t get owner privileges.
• Home directories: Each user record in a directory domain stores the location of the
user’s home directory, which is also known as the user’s home folder. This is where
the user keeps personal files, folders, and preferences. A user’s home directory can be
located on a particular computer that the user always uses or on a network file
server.
• Automount share points: Share points can be configured to automount (appear
automatically) in the /Network folder (the Network globe) in the Finder windows of
client computers. Information about these automount share points is stored in a
directory domain. Share points are folders, disks, or disk partitions that you have
made accessible over the network.
• Mail account settings: Each user’s record in a directory domain specifies whether
the user has mail service, which mail protocols to use, how to present incoming mail,
whether to alert the user when mail arrives, and more.
• Resource usage: Disk, print, and mail quotas can be stored in each user record of a
directory domain.
• Managed client information: The administrator can manage the Mac OS X
environment of users whose account records are stored in a directory domain. The
administrator makes mandatory preference settings that are stored in the directory
domain and override users’ personal preferences.
• Group management: In addition to user records, a directory domain also stores
group records. Each group record affects all users who are in the group. Information
in group records specifies preferences settings for group members. Group records
also determine access to files, folders, and computers.
20Chapter 1 Directory Service Concepts
Inside a Directory Domain
Information in a directory domain is organized into record types, which are specific
categories of records, such as users, computers, and mounts. For each record type, a
directory domain may contain any number of records. Each record is a collection of
attributes, and each attribute has one or more values. If you think of each record type
as a spreadsheet that contains a category of information, then records are like the rows
of the spreadsheet, attributes are like spreadsheet columns, and each spreadsheet cell
contains one or more values.
For example, when you define a user by using Workgroup Manager, you are creating a
user record (a record of the user’s record type). The settings that you configure for the
user—short name, full name, home directory location, and so on—become values of
attributes in the user record. The user record and the values of its attributes reside in a
directory domain.
In some directory services, such as LDAP and Active Directory, record types are called
object classes or simply classes, and records are called objects. Each class (record type) is
a set of rules that define similar objects (records) by specifying certain attributes that
each object must have and certain other attributes that each object may have. For
example, the inetOrgPerson class defines objects that contain user attributes. The
inetOrgPerson class is a standard LDAP class defined by RFC 2798. Other standard LDAP
classes and attributes are defined by RFC 2307.
A collection of attributes and record types or object classes provides a blueprint for the
information in a directory domain. This blueprint is called the schema of the directory
domain.
Local and Shared Directory Domains
Where you store your server’s user information and other administrative data is
determined by whether the data needs to be shared. This information may be stored in
the server’s local directory domain or in a shared directory domain.
About the Local Directory Domain
Every Mac OS X computer has a local directory domain. A local domain’s administrative
data is visible only to applications and system software running on the computer
where the domain resides. It is the first domain consulted when a user logs in or
performs some other operation that requires data stored in a directory domain.
When the user logs in to a Mac OS X computer, Open Directory searches the
computer’s local directory domain for the user’s record. If the local directory domain
contains the user’s record (and the user typed the correct password), the login process
proceeds and the user gets access to the computer.
Chapter 1 Directory Service Concepts21
After login, the user could choose “Connect to Server” from the Go menu and connect
to Mac OS X Server for file service. In this case, Open Directory on the server searches
for the user’s record in the server’s local directory domain. If the server’s local directory
domain has a record for the user (and the user types the correct password), the server
grants the user access to the file services.
Log in to
Mac OS X
Local
directory
domain
Connect to Mac OS X
Server for file service
Local
directory
domain
When you first set up a Mac OS X computer, its local directory domain is automatically
created and populated with records. For example, a user record is created for the user
who performed the installation. It contains the user name and password entered
during setup, as well as other information, such as a unique ID for the user and the
location of the user’s home directory.
About Shared Directory Domains
While Open Directory on any Mac OS X computer can store administrative data in the
computer’s local directory domain, the real power of Open Directory is that it lets
multiple Mac OS X computers share administrative data by storing the data in shared
directory domains. When a computer is configured to use a shared domain, any
administrative data in the shared domain is also visible to applications and system
software running on that computer.
If Open Directory does not find a user’s record in the local domain of a Mac OS X
computer, Open Directory can search for the user’s record in any shared domains to
which the computer has access. In the following example, the user can access both
computers because the shared domain accessible from both computers contains a
record for the user.
Log in to
Mac OS X
22Chapter 1 Directory Service Concepts
Local
directory
domain
Shared
directory
domain
Connect to Mac OS X
Server for file service
Local
directory
domain
Shared domains generally reside on servers because directory domains store extremely
important data, such as the data for authenticating users. Access to servers is usually
tightly restricted to protect the data on them. In addition, directory data must always
be available. Servers often have extra hardware features that enhance their reliability,
and servers can be connected to uninterruptible power sources.
Shared directories can also be used to isolate network resources from some users. For
example, graphic artists in a company might need to work on high-performance
computers, while copy center personnel can work on computers with standard
equipment. You could restrict access to the two kinds of computers by setting up user
records in two shared directory domains. One shared domain would contain records for
users who work on the high-performance computers. The other shared domain would
contain records for users who work on the standard computers. Rather than
configuring user access on each computer individually, you would use Workgroup
Manager to create all the user records in the two shared domains: Graphics and Repro.
Graphics
directory
domain
Graphic artistsCopy center personnel
Repro
directory
domain
When users log in to high-performance computers, user records in the Graphics
directory domain will be used to authenticate them. Likewise when users log in to
standard computers, user records in the Repro directory domain will be used to
authenticate them. A user whose record is in the Repro directory can’t log in to a highperformance computer. A user whose record in the Graphics directory domain can’t log
in to a standard computer.
Chapter 1 Directory Service Concepts23
If you wanted some users to be able to log in to any computer, you could create their
user records in another shared directory domain that all computers can access.
Company
directory
domain
Graphics
directory
domain
Graphic artistsCopy center personnel
Repro
directory
domain
Shared Data in Existing Directory Domains
Some organizations—such as universities and worldwide corporations—maintain user
information and other administrative data in directory domains on UNIX or Windows
servers. Open Directory can be configured to search these non-Apple domains as well
as shared Open Directory domains of Mac OS X Server systems.
Mac OS X Server
Local
directory
Windows server
Active
Directory
domain
Shared
directory
Local
directory
Mac OS 9 userMac OS X userWindows user
24Chapter 1 Directory Service Concepts
The order in which Mac OS X searches directory domains is configurable. A search
policy determines the order in which Mac OS X searches directory domains. The next
chapter discusses search policies.
Access to Directory Services
Open Directory can access directory domains in the following kinds of directory
services:
• Lightweight Directory Access Protocol (LDAP), an open standard commonly used in
mixed environments and the native directory service for shared directories in
Mac OS X Server version 10.3
• NetInfo, the legacy directory service of Mac OS X and Mac OS X Server
• Active Directory, the directory service of Microsoft Windows 2000 and 2003 servers
• Network Information System (NIS), a directory service of many UNIX servers
• BSD flat files, the legacy directory service of UNIX systems
Discovery of Network Services
Open Directory can provide more than administrative data from directories. Open
Directory can also provide information about services that are available on the
network. For example, Open Directory can provide information about file servers that
are currently available.
File server
File server
Open
Directory
Open Directory can discover network services that make their existence and
whereabouts known. Services make themselves known by means of standard
protocols. Open Directory supports the following service discovery protocols:
• Rendezvous, the Apple protocol that uses multicast DNS for discovering file, print,
chat, music sharing, and other network services
• AppleTalk, the legacy protocol for discovering file, print, and other network services
Chapter 1 Directory Service Concepts25
Service Location Protocol (SLP), an open standard for discovering file and print
•
services
Server Message Block (SMB), the protocol used by Microsoft Windows for file, print,
•
and other services
In fact, Open Directory can provide information about network services both from
service discovery protocols and from directory domains. To accomplish this, Open
Directory simply asks all its sources of information for the type of information
requested by a Mac OS X process. The sources that have the requested type of
information provide it to Open Directory, which collects all the provided information
and hands it over to the Mac OS X process that requested it.
For example, if Open Directory requests information about file servers, the file servers
on the network respond via service discovery protocols with their information. A
directory domain that contains relatively static information about some file servers also
responds to the request. Open Directory collects the information from the service
discovery protocols and the directory domains.
Directory
domain
File server
File server
When Open Directory requests information about a user, service discovery protocols
don’t respond because they don’t have user information. (Theoretically, AppleTalk,
Rendezvous, SMB, and SLP could provide user information, but in practice they don’t
have any user information to provide.) The user information that Open Directory
collects comes from whatever sources have it—from directory domains.
26Chapter 1
Open
Directory
Directory Service Concepts
2Open Directory Search Policies
2
Each computer has a search policy that specifies one or
more directory domains and the sequence in which
Open Directory searches them.
Every Mac OS X computer has a local directory domain and can also access shared
directory domains. Nothing prevents the directory domains from having
interchangeable records. For example, two directory domains could have user records
with the same name but other differences. Therefore, each Mac OS X computer needs a
policy for resolving potential conflicts between equivalent but not identical records.
Each Mac OS X computer has a search policy that specifies which directory domains
Open Directory can access, such as the computer’s local directory and a particular
shared directory. The search policy also specifies the order in which Open Directory
accesses directory domains. Open Directory searches each directory domain in turn
and stops searching when it finds a match. For example, Open Directory stops
searching for a user record when it finds a record whose user name matches the name
it’s looking for.
Search Policy Levels
A search policy can include the local directory alone, the local directory and a shared
directory, or the local directory and multiple shared directories. On a network with a
shared directory, several computers generally access the shared directory. This
arrangement can be depicted as a tree-like structure with the shared directory at the
top and local directories at the bottom.
27
Local Directory Search Policy
The simplest search policy consists only of a computer’s local directory. In this case,
Open Directory looks for user information and other administrative data only in the
local directory domain of each computer. If a server on the network hosts a shared
directory, Open Directory does not look there for user information or administrative
data because the shared directory is not part of the computer’s search policy.
Search Policy
1
Local directory domain
Local directory domain
Two-Level Search Policies
If one of the servers on the network hosts a shared directory, all the computers on the
network can include the shared directory in their search policies. In this case, Open
Directory looks for user information and other administrative data first in the local
directory. If Open Directory doesn’t find the information it needs in the local directory,
it looks in the shared directory.
Shared directory domain
Local directory domain
Local directory domain
Here’s a scenario in which a two-level search policy might be used:
Search Policy
1
2
Shared directory domain
Local directory domain
English class computer
28Chapter 2 Open Directory Search Policies
Local directory domain
Math class computerScience class computer
Search Policy
1
2
Local directory domain
Each class (English, math, science) has its own computer. The students in each class are
defined as users in the local domain of that class’s computer. All three of these local
domains have the same shared domain, in which all the instructors are defined.
Instructors, as members of the shared domain, can log in to all the class computers. The
students in each local domain can log in to only the computer where their local
account resides.
While local domains reside on their respective computers, a shared domain resides on a
server accessible from the local domain’s computer. When an instructor logs in to any
of the three class computers and cannot be found in the local domain, Open Directory
searches the shared domain. In this example, there is only one shared domain, but in
more complex networks, there may be more shared domains.
School Mac OS X
Server
Local
directory
Shared
directory
Local
directory
English class
computer
Science class
computer
Local
directory
Local
directory
Math class
computer
Multilevel Search Policies
If more than one server on the network hosts a shared directory, the computers on the
network can include two or more shared directories in their search policies. As with
simpler search policies, Open Directory always looks for user information and other
administrative data first in the local directory. If Open Directory does not find the
information it needs in the local directory, it searches each shared directory in the
sequence specified by the search policy.
Chapter 2 Open Directory Search Policies29
Here’s a scenario in which more than one shared directory might be used:
Each class (English, math, science) has a server that hosts a shared directory domain.
Each classroom computer’s search policy specifies the computer’s local domain, the
class’s shared domain, and the school’s shared domain. The students in each class are
defined as users in the shared domain of that class’s server, allowing them to log in to
any computer in the class. The instructors are defined in the shared domain of the
school server, allowing them to log in to any classroom computer.
You can affect an entire network or just a group of computers by choosing the domain
in which to define administrative data. The higher the administrative data resides in a
search policy, the fewer places it needs to be changed as users and system resources
change. Probably the most important aspect of directory services for administrators is
planning directory domains and search policies. These should reflect the resources you
want to share, the users you want to share them among, and even the way you want to
manage your directory data.
Automatic Search Policies
Initially, Mac OS X computers are configured to set their search policies automatically.
An automatic search policy consists of three parts, two of which are optional:
• Local directory domain
• Shared NetInfo domains (optional)
• Shared LDAP directory (optional)
A computer’s automatic search policy always begins with the computer’s local directory
domain. If a Mac OS X computer is not connected to a network, the computer searches
only its local directory domain for user accounts and other administrative data.
30Chapter 2 Open Directory Search Policies
Next the automatic search policy looks at the binding of shared NetInfo domains. The
computer’s local domain can be bound to a shared NetInfo domain, which can in turn
be bound to another shared NetInfo domain, and so on. The NetInfo binding, if any,
constitutes the second part of the automatic search policy. See “About NetInfo Binding”
on page 110 for additional information.
Finally, a computer with an automatic search policy can bind to a shared LDAP
directory. When the computer starts up, it can get the address of an LDAP directory
server from DHCP service. The DHCP service of Mac OS X Server can supply an LDAP
server address just as it supplies the addresses of DNS servers and a router. (A nonApple DHCP service may also be able to supply an LDAP server address; this feature is
known as DHCP option 95.)
If you want the DHCP service of Mac OS X Server to supply its clients with a particular
LDAP server’s address for their automatic search policies, you need to configure the
LDAP options of DHCP service. For instructions, see the DHCP chapter of the network
services administration guide.
If you want a Mac OS X computer to get the address of an LDAP server from DHCP
service:
• The computer must be configured to use an automatic search policy. Mac OS X
version 10.2 and later is initially configured to use an automatic search policy. See
“Setting Up the Authentication and Contacts Search Policies” on page 87 for more
information.
• The computer’s Network preferences must be configured to use DHCP or DHCP with
manual IP address. Mac OS X is initially configured to use DHCP. For information on
setting Network preferences, search Mac Help.
An automatic search policy offers convenience and flexibility and is the recommended
option, especially for mobile computers. If a computer with an automatic search policy
is disconnected from the network, connected to a different network, or moved to a
different subnet, the automatic search policy can change. If the computer is
disconnected from the network, it uses its local directory domain. If the computer is
connected to a different network or subnet, it can automatically change its NetInfo
binding and can get an LDAP server address from the DHCP service on the current
subnet. With an automatic search policy, a computer doesn’t have to be reconfigured
to get directory and authentication services in its new location.
Chapter 2 Open Directory Search Policies31
Custom Search Policies
If you don’t want a Mac OS X computer to use the automatic search policy supplied by
DHCP, you can define a custom search policy for the computer. For example, a custom
search policy could specify that an Active Directory domain be consulted when a user
record or other administrative data cannot be found in other directory domains.
A custom search policy may not work in multiple network locations because it relies on
the availability of specific directory domains. Therefore a custom search policy is usually
not the best choice for a mobile computer. An automatic or local-only search policy is
generally more reliable for a mobile computer.
Search Policies for Authentication and Contacts
A Mac OS X computer actually has more than one search policy. It has a search policy
for finding authentication information, and it has a separate search policy for finding
contact information. Open Directory uses the authentication search policy to locate
and retrieve user authentication information and other administrative data from
directory domains. Open Directory uses the contacts search policy to locate and
retrieve name, address, and other contact information from directory domains.
Mac OS X Address Book uses this contact information, and other applications can be
programmed to use it as well.
Each search policy can be automatic, custom, or local directory only.
32Chapter 2 Open Directory Search Policies
3User Authentication With
Open Directory
3
Open Directory offers a variety of options for
authenticating users whose accounts are stored in
directory domains on Mac OS X Server, including
Kerberos and the many authentication methods that
network services require.
Open Directory can authenticate users by:
• Using single signon with the Kerberos KDC built into Mac OS X Server
• Using a password stored securely in the Open Directory Password Server database
• Using a shadow password stored as several hashes, including NT and LAN Manager,
in a file that only the root user can access
• Using a crypt password stored directly in the user’s account, for backward
compatibility with legacy systems
• Using a non-Apple LDAP server for LDAP bind authentication
In addition, Open Directory lets you set up specific password policies for each user,
such as automatic password expiration and minimum password length. (Password
policies do not apply to shadow passwords, crypt passwords, or LDAP bind
authentication.)
This chapter describes the authentication options available in Mac OS X Server.
Authentication and Authorization
Services such as the login window and Apple file service request user authentication
from Open Directory. Authentication is part of the process by which a service
determines whether it should grant a user access to a resource. Usually this process
also requires authorization. Authentication proves a user’s identity, and authorization
determines what the authenticated user is allowed to do. A user typically authenticates
by providing a valid name and password. A service can then authorize the
authenticated user to access specific resources. For example, file service authorizes full
access to folders and files that an authenticated user owns.
33
You experience authentication and authorization when you use a credit card. The
merchant authenticates you by comparing your signature on the sales slip to the
signature on your credit card. Then the merchant submits your authorized credit card
account number to the bank, which authorizes payment based on your account
balance and credit limit.
Open Directory authenticates user accounts, but does not authorize access to any
services. After Open Directory authenticates you, the login window can authorize you
to log in, file service can authorize access to certain folders and files, mail service can
authorize access to your email, and so on.
Determining Which Authentication Option to Use
To authenticate a user, Open Directory first must determine which authentication
option to use—Kerberos, Open Directory Password Server, shadow password, crypt
password, or LDAP bind. The user’s account contains information that specifies which
authentication option to use. This information is called the authentication authority attribute. Therefore Open Directory uses the name provided by the user to locate the
user’s account in the directory domain. Then Open Directory consults the
authentication authority attribute in the user’s account and learns which authentication
option to use.
The authentication authority attribute is not limited to specifying a single
authentication option. For example, an authentication authority attribute could specify
that a user can be authenticated by Kerberos and Open Directory Password Server.
Nor must a user’s account contain an authentication authority attribute at all. If a user’s
account contains no authentication authority attribute, Mac OS X Server assumes a
crypt password is stored in the user’s account. For example, user accounts created
using Mac OS X version 10.1 and earlier contain a crypt password but not an
authentication authority attribute.
You can change a user’s authentication authority attribute by changing the password
type in the Advanced pane of Workgroup Manager. Some password type settings result
in the authentication authority attribute specifying more than one authentication
option. See Chapter 6, “Managing User Authentication,” for instructions on setting the
password type.
34Chapter 3 User Authentication With Open Directory
Open Directory Authentication
When a user’s account has a password type of Open Directory, the user can be
authenticated by Kerberos or the Open Directory Password Server. Neither Kerberos
nor Open Directory Password Server stores the password in the user’s account.
Both Kerberos and Open Directory Password Server store passwords outside the
directory domain and never allow passwords to be read. Passwords can only be set and
verified. Malicious users might attempt to log in over the network hoping to gain
access to Kerberos and Open Directory Password Server. The Open Directory logs can
alert you to unsuccessful login attempts. (See “Viewing Open Directory Status and
Logs” on page 115.)
Password Policies
Both Kerberos and Open Directory Password Server enforce password policies. For
example, a user’s password policy can specify a password expiration interval. If the user
is logging in and Open Directory discovers the user’s password has expired, the user
must replace the expired password. Then Open Directory can authenticate the user.
Password policies can disable a user account on a certain date, after a number of days,
after a period of inactivity, or after a number of failed login attempts. Password policies
can also require passwords to be a minimum length, contain at least one letter, contain
at least one numeral, differ from the account name, differ from recent passwords, or be
changed periodically. Open DIrectory applies the same password policy rules to Open
Directory Password Server and Kerberos, except that Kerberos does not support all the
rules.
Password policies do not affect administrator accounts. Administrators are exempt from
password policies because they can change the policies at will. In addition, enforcing
password policies on administrators would subject them to denial-of-service attacks.
Which Users Can Have Open Directory Passwords
All user accounts stored on a server with Mac OS X Server version 10.3 can be
configured to have a password type of Open Directory. User accounts in the server’s
local directory domain can be configured to have a password type of Open Directory. If
this server hosts a shared directory domain, user accounts in it can also be configured
to have a password type of Open Directory.
Users who need to log in using the login window of Mac OS X version 10.1 or earlier
must be configured to use crypt passwords. The password type doesn’t matter for
other services. For example, a user could authenticate for Apple file service with an
Open Directory password.
Chapter 3 User Authentication With Open Directory35
Open Directory Password Server Authentication Methods
The Open Directory Password Server is based on a standard known as Simple
Authentication and Security Layer (SASL). It is an extensible authentication scheme that
allows Open Directory Password Server to support a variety of network user
authentication methods required by mail service, file services, and other services of
Mac OS X Server. Each service negotiates with Open Directory Password Server for an
authentication method before exchanging user credentials.
The Open Directory Password Server supports authentication methods that do not
require a clear text password be stored in the Open Directory Password Server
database. Only encrypted passwords, called hashes, are stored in the database. These
methods are CRAM-MD5, DHX, Digest-MD5, MS-CHAPv2, SMB-NT, and SMB-LAN
Manager.
No one—including an administrator and the root user—can recover encrypted
passwords by reading them from the database. An administrator can use Workgroup
Manager to set a user’s password, but can’t read any user’s password.
In addition, Open Directory Password Server supports authentication methods that
may require a clear text password be stored in the authentication database. These
methods are APOP and WebDAV-Digest.
Note: If you connect Mac OS X Server version 10.3 or later to a directory domain of
Mac OS X Server version 10.2 or earlier, be aware that users defined in the older
directory domain cannot be authenticated with the MS-CHAPv2 method. This method
may be required to securely authenticate users for the VPN service of Mac OS X Server
version 10.3 and later. Open Directory Password Server in Mac OS X Server version 10.3
supports MS-CHAPv2 authentication, but Password Server in Mac OS X Server version
10.2 does not support MS-CHAPv2.
Contents of Open Directory Password Server Database
Open Directory Password Server maintains an authentication database separate from
the Mac OS X Server directory domain. Open Directory tightly restricts access to the
authentication database, whereas anyone on the network can access the directory
domain.
Open Directory Password Server maintains a record in its authentication database for
each user account that has a password type of Open Directory. An authentication
record includes the following:
• The user’s password ID is a 128-bit value assigned when the password is created. It is
also stored in the user’s record in the directory domain and is used as a key for
finding a user’s record in the Open Directory Password Server database.
36Chapter 3 User Authentication With Open Directory
• The password is stored in recoverable (clear text) or hashed (encrypted) form. The
form depends on the authentication method. A recoverable password is stored for
the APOP and WebDAV authentication methods. For all other methods, the record
stores a hashed (encrypted) password. If no authentication method requiring a clear
text password is enabled, the Open Directory authentication database stores only
hashes of passwords.
• The user’s short name, for use in log messages viewable in Server Admin.
• Password policy data.
Kerberos Authentication
Kerberos is a network authentication protocol developed at MIT to provide secure
authentication and communication over open networks. In addition, Kerberos enables
single signon authentication (see “Single Signon” on page 39).
Mac OS X and Mac OS X Server versions 10.2 and later support Kerberos v5. If your
network already has a Kerberos Key Distribution Center (KDC), you can set up your
Mac OS X computers to use it for authentication.
If a server with Mac OS X Server version 10.3 has a shared LDAP directory, the server
also has a Kerberos KDC built in. This KDC can authenticate all users whose accounts
are stored in a directory domain on the server and whose password type is Open
Directory. The built-in KDC requires minimal setup. Computers with Mac OS X version
10.3 and later require minimal setup to use the Mac OS X Server KDC for authentication
of user accounts stored on the server.
Kerberized Services
Kerberos can authenticate users for the following services of Mac OS X Server:
• Login window
• Mail service
• FTP
• AFP service
• SSH
These services have been “Kerberized.” Only services that have been Kerberized can use
Kerberos to authenticate a user.
Kerberos Principals and Realms
Kerberized services are configured to authenticate principals who are known to a
particular Kerberos realm. You can think of a realm as a particular Kerberos database or
authentication domain, which contains validation data for users, services, and
sometimes servers, which are all known as principals. For example, a realm contains
principals’ secret keys, which are the result of a one-way function applied to passwords.
Service principals are generally based on randomly generated secrets rather than
passwords.
Chapter 3 User Authentication With Open Directory37
Here are examples of realm and principal names; note that realm names are capitalized
by convention to distinguish them from DNS domain names:
• Realm: MYREALM.EXAMPLE.COM
• User principal: smitty@MYREALM.EXAMPLE.COM
• Service principal: afpserver/somehost.example.com@MYREALM.EXAMPLE.COM
Kerberos Authentication Process
There are several phases to Kerberos authentication. In the first phase, the client
obtains credentials to be used to request access to Kerberized services. In the second
phase, the client requests authentication for a specific service. In the final phase, the
client presents those credentials to the service.
The following illustration summarizes these activities. Note that the service and the
client in this picture may be the same entity (such as the login window) or two
different entities (such as a mail client and the mail server).
Key Distribution
Center (KDC)
4
2
3
Client
1
5
6
Kerberized
service
1 The client authenticates to a Kerberos KDC, which interacts with realms to access
authentication data. This is the only step in which passwords and associated password
policy information needs to be checked.
2 The KDC issues the client a ticket-granting ticket, the credential needed when the client
wants to use Kerberized services. The ticket-granting ticket is good for a configurable
period of time, but can be revoked before expiration. It is cached on the client until it
expires.
3 The client contacts the KDC with the ticket-granting ticket when it wants to use a
particular Kerberized service.
4 The KDC issues a ticket for that service.
5 The client presents the ticket to the service.
6 The service verifies that the ticket is valid. If the ticket is valid, use of the service is
granted to the client if the client is authorized to use the service. (Kerberos only
authenticates clients; it does not authorize them to use services. An AFP server, for
example, needs to consult a user’s account in a directory domain to obtain the UID.)
The service uses information in the ticket if required to retrieve additional information
about the user from a directory domain.
38Chapter 3 User Authentication With Open Directory
Note that the service does not need to know any password or password policy
information. Once a ticket-granting ticket has been obtained, no password information
needs to be provided.
Time is very important with Kerberos. If the client and the KDC are out of sync by more
than a few minutes, the client will fail to achieve authentication with the KDC. The date,
time, and time zone information needs to be correct on the KDC server and clients, and
they all should use the same network time service to keep their clocks in sync.
For more information on Kerberos, go to the MIT Kerberos website:
web.mit.edu/kerberos/www/index.html
Single Signon
Mac OS X Server uses Kerberos for single signon authentication, which relieves users
from entering a name and password separately for every Kerberized service. With single
signon, a user always enters a name and password in the login window. Thereafter, the
user does not have to enter a name and password for Apple file service, mail service, or
other services that use Kerberos authentication. To take advantage of the single signon
feature, users and services must be configured for Kerberos authentication and use the
same Kerberos Key Distribution Center (KDC) server.
User accounts that reside in an LDAP directory of Mac OS X Server version 10.3 and
have a password type of Open Directory use the server’s built-in KDC. These user
accounts are automatically configured for Kerberos and single signon. This server’s
Kerberized services also use the server’s built-in KDC and are automatically configured
for single signon. Other servers require some configuration to use the Mac OS X Server
KDC. Servers with Mac OS X Server version 10.3 require only minimal configuration to
use the built-in KDC of another server with Mac OS X Server version 10.3.
Shadow and Crypt Passwords
Shadow and crypt passwords do not depend on the Kerberos or Open Directory
Password Server infrastructure for password validation. Both transmit a scrambled form
of a user’s password, or hash, when sending the password over the network. Both also
store a scrambled form of the password, but they differ in where the password is
stored.
A crypt password is stored as a hash in the user account, making the password fairly
easy to capture from another computer on the network. This strategy, historically called
basic authentication, is most compatible with software that needs to access user
records directly. For example, Mac OS X version 10.1 and earlier expects to find a crypt
password stored in the user account.
Chapter 3 User Authentication With Open Directory39
A shadow password is stored as several hashes in a file on the same computer as the
directory domain where the user account resides. Because the password is not stored
in the user account, the password is not easy to capture over the network. Each user’s
shadow password is stored in a different file, called a shadow password file, and these
files are protected so they can be read only by the root user account. Only user
accounts that are stored in a computer’s local directory can have a shadow password.
User accounts that are stored in a shared directory can’t have a shadow password.
A shadow password’s primary hash function is SHA-1. In addition, NT and LAN Manager
hashes are stored in the shadow password file for backwards compatibility with
Windows SMB file and print services. The NT and LAN Manager hashes can be used for
Windows personal file sharing from a Mac OS X computer and can also be used to
authenticate Windows file and print services provided by Mac OS X Server.
Shadow passwords also provide cached authentication for mobile user accounts.
Shadow and crypt do not support all services. Some services require the authentication
methods that Open Directory supports, such as APOP, CRAM-MD5, Digest-MD5, MSCHAPv2, and WebDAV-Digest. For secure transmission of passwords over a network,
crypt supports the DHX authentication method. Shadow additionally supports NT and
LAN Manager for network-secure authentication.
Crypt authentication only supports a maximum password length of eight bytes (eight
ASCII characters). If a longer password is entered in a user account, only the first eight
bytes are used for crypt password validation.
The eight-character limit does not apply to a shadow password. With a shadow
password, the first 128 characters are used for NT authentication, and the first 14
characters are used for LAN Manager authentication.
Encrypting Shadow and Crypt Passwords in User Accounts
Shadow and crypt passwords are not stored in clear text; they are concealed and made
illegible by encryption.
Shadow and crypt encrypt a password by feeding the clear text password along with a
random number to a mathematical function, known as a one-way hash function. A
one-way hash function always generates the same encrypted value from particular
input, but cannot be used to recreate the original password from the encrypted output
it generates.
To validate a password using the encrypted value, Mac OS X applies the function to the
password entered by the user and compares it with the value stored in the user
account. If the values match, the password is considered valid.
40Chapter 3 User Authentication With Open Directory
Different hash functions are used to encrypt shadow and crypt passwords. For crypt
passwords, the standard UNIX crypt function is used. Shadow passwords are encrypted
using several hash functions, including NT and LAN Manager.
Cracking Readable Passwords
Because crypt passwords are stored directly in user accounts, they are potentially
subject to cracking. User accounts in a shared directory domain are openly accessible
on the network. Anyone on the network who has Workgroup Manager or knows how
to use command-line tools can read the contents of user accounts, including the
passwords stored in them.
A malicious user, or cracker, could use Workgroup Manager or UNIX commands to copy
user records to a file. The cracker can transport this file to a system and use various
techniques to figure out which unencrypted passwords generate the encrypted
passwords stored in the user records. After identifying a password, the cracker can log
in unnoticed with a legitimate user name and password.
This form of attack is known as an offline attack, since it does not require successive
login attempts to gain access to a system.
A very effective way to thwart password cracking is to use good passwords. A
password should contain letters, numbers, and symbols in combinations that won’t be
easily guessed by unauthorized users. Passwords should not consist of actual words.
Good passwords might include digits and symbols (such as # or $). Or they might
consist of the first letter of all the words in a particular phrase. Use both uppercase and
lowercase letters.
Note: Shadow and Open Directory passwords are far less susceptible to offline attack
because they are not stored in user records. Shadow passwords are stored in separate
files that can be read only by someone who knows the password of the root user (also
known as the System Administrator). Open Directory passwords are stored securely in
the Kerberos KDC and in the Open Directory Password Server database. A user’s Open
Directory password can’t be read by other users, not even by a user with administrator
rights for Open Directory authentication. (This administrator can only change Open
Directory passwords and password policies.)
Chapter 3 User Authentication With Open Directory41
LDAP Bind Authentication
For user accounts that reside in an LDAP directory on a non-Apple server, Open
Directory attempts to use simple LDAP bind authentication. Open Directory sends the
LDAP directory server the name and password supplied by the authenticating user. If
the LDAP server finds a matching user record and password, authentication succeeds.
Simple LDAP bind authentication is inherently insecure because it transmits clear text
passwords over the network. But you can secure simple LDAP bind authentication by
setting up access to the LDAP directory via the Secure Sockets Layer (SSL) protocol. SSL
makes access secure by encrypting all communications with the LDAP directory.
42Chapter 3 User Authentication With Open Directory
4Open Directory Planning
4
Like the plumbing and wiring in a building, directory
services for a network must be planned in advance, not
on an ad hoc basis.
Keeping information in shared directory domains gives you more control over your
network, allows more users access to the information, and makes maintaining the
information easier for you. But the amount of control and convenience depends on the
effort you put into planning your shared domains. The goal of directory domain
planning is to design the simplest arrangement of shared domains that gives your
Mac OS X users easy access to the network resources they need and minimizes the time
you spend maintaining user records and other administrative data.
This chapter presents guidelines for planning Open Directory services and describes
tools for managing them.
General Planning Guidelines
If you do not need to share user and resource information among multiple Mac OS X
computers, there is very little directory domain planning necessary. Everything can be
accessed from local directory domains. Just ensure that all individuals who need to use
a particular Mac OS X computer are defined as users in the local directory domain on
the computer.
Log in to
Mac OS X
43
Local
directory
domain
Connect to Mac OS X
Server for file service
Local
directory
domain
If you want to share information among Mac OS X computers, you need to set up at
least one shared directory domain.
Shared
directory
domain
Log in to
Mac OS X
Local
directory
domain
Connect to Mac OS X
Server for file service
Local
directory
domain
A single shared directory domain may be completely adequate if all your network
computer users share the same resources, such as printers, share points for home
directories, share points for applications, and share points for documents.
Larger, more complex organizations can benefit from additional shared directory
domains.
If your network has several shared directory domains, you can make directory
information visible only to subsets of a network’s computers. In the foregoing example
arrangement, the administrator can tailor the users and resources visible to the
community of Mac OS X computers by distributing directory information among four
shared directory domains.
44Chapter 4 Open Directory Planning
If you want all computers to have access to certain administrative data, you store the
data in a shared directory domain that is in all computers’ search policies. To make
some data accessible only to a subset of computers, you store it in a shared directory
domain that is only in the search policies of those computers.
Simplifying Changes to Data in Directories
If you need more than one shared directory domain, you should organize your search
policies to minimize the number of places data has to change over time. You should
also devise a plan that addresses how you want to manage such ongoing events as:
• New users joining and leaving your organization
• File servers being added, enhanced, or replaced
• Printers being moved among locations
You’ll want to try to make each directory domain applicable to all the computers that
use it so you don’t have to change or add information in multiple domains. In the
foregoing illustration of multilevel shared domains, adding a new student to a class’s
shared domain enables the student to log in to any of the class’s computers. As
instructors are hired or retire, the administrator can make adjustments to user
information simply by editing the school’s shared domain.
If you have a widespread or complex hierarchy of directory domains in a network that
is managed by several administrators, you need to devise strategies to minimize
conflicts. For example, you can predefine ranges of user IDs (UIDs) to avoid inadvertent
file access. (For more information, see the chapter on setting up accounts in the user
management guide.)
Estimating Directory and Authentication Requirements
In addition to considering how you want to distribute directory data among multiple
domains, you must also consider the capacity of each directory domain. A number of
factors affect how large a directory domain can be. One factor is the performance of
the database that stores the directory information. The LDAP directory domain of
Mac OS X Server version 10.3 and later uses the Berkeley DB database, which will
remain efficient with 100,000 records. Of course, a server hosting a directory domain of
that size would need sufficient hard disk space to store all the records.
The number of connections that a directory service can handle is harder to measure
because directory service connections occur in the context of the connections of all the
services that the server provides. With Mac OS X Server version 10.3, a server dedicated
to Open Directory has a limit of 250 simultaneous client computer connections.
Chapter 4 Open Directory Planning45
The Open Directory server may actually be able to provide LDAP and authentication
services to more client computers, because all the client computers will not need these
services at once. Each client computer connects to the LDAP directory for up to two
minutes, and connections to the Open Directory Password Server are even shorter
lived. For example, an Open Directory server may be able to support 750 client
computers because the odds are that only a fraction of the client computers that could
make a connection with Open Directory will actually make connections at the same
time. Determining what the fraction is—what percentage of the potential client
computers will make connections at the same time—can be difficult. For example,
client computers that each have a single user who spends all day working on graphics
files will need Open Directory services relatively infrequently. In contrast, computers in
a lab will have many users logging in throughout the day, each with a different set of
managed client preference settings, and these computers will place a relatively high
load on Open Directory services.
In general, you can correlate Open Directory usage with login and logout. These
activities will generally dominate directory and authentication services in any system.
The more frequently users log in and out, the fewer client computers an Open
Directory server (or any directory and authentication server) can support. You need
more Open Directory servers if users log in very frequently. You can get by with fewer
Open Directory servers if work sessions are long duration and login is infrequent.
Identifying Servers for Hosting Shared Domains
If you need more than one shared domain, you need to identify the servers on which
shared domains should reside. Shared domains affect many users, so they should reside
on Mac OS X Server computers that have the following characteristics:
• Restricted physical access
• Limited network access
• Equipped with high-availability technologies, such as uninterruptible power supplies
You should select computers that will not be replaced frequently and that have
adequate capacity for growing directory domains. While you can move a shared
domain after it has been set up, you may need to reconfigure the search policies of
computers that bind to the shared domain so that their users can continue to log in.
46Chapter 4 Open Directory Planning
Replicating Open Directory Services
Mac OS X Server supports replication of the LDAP directory service, the Open Directory
Password Server, and the Kerberos KDC.
By replicating your directory and authentication services you can:
• Move directory information closer to a population of users in a geographically
distributed network, improving performance of directory and authentication services
to these users.
• Achieve redundancy, so that users see little disruption in service if a directory system
fails or becomes unreachable.
One server has a primary copy of the shared LDAP directory domain, Open Directory
Password Server, and Kerberos Key Distribution Center (KDC). This server is called an
Open Directory master. Each Open Directory replica is a separate server with a copy of
the master’s LDAP directory, Open Directory Password Server, and Kerberos KDC.
Access to the LDAP directory on a replica is read only. All changes to user records and
other account information in the LDAP directory can be made only on the Open
DIrectory master.
The Open Directory master automatically updates its replicas with changes to the LDAP
directory. The master can update the replicas every time a change occurs, or you can
set up a schedule so that updates occur only at regular intervals. The fixed schedule
option is best if replicas are connected to the master by a slow network link.
Passwords and password policies can be changed on any replica. If a user’s password or
password policy is changed on more than one replica, the most recent change prevails.
The updating of replicas relies on the clocks of the master and all replicas being in sync.
If replicas and the master have a wildly different notion of time, updating could be
somewhat arbitrary. The date, time, and time zone information needs to be correct on
the master and replicas, and they all should use the same network time service to keep
their clocks in sync.
Replication in a Multi-Building Campus
A network that spans multiple buildings may have slower network links between
buildings than within each building. The network links between buildings may also be
overloaded. These conditions can adversely affect the performance of computers that
get Open Directory services from a server in another building. Accordingly, you may
want to set up an Open Directory replica in each building. Depending on need, you
may even want to set up an Open Directory replica on each floor of a multistory
building. Each replica provides efficient directory and authentication services to client
computers in its vicinity. The client computers do not have to make connections with
an Open Directory server across the slow, crowded network link between buildings.
Chapter 4 Open Directory Planning47
Having more replicas does have a disadvantage. Replicas communicate with each other
and with the master over the network. This network communication overhead
increases as you add replicas. Adding too many replicas can actually add more network
traffic between buildings in the form of replication updates than it removes in the form
of Open Directory client communications.
Therefore in deciding how many replicas to deploy, you must consider how heavily the
client computers will use Open Directory services. If the client computers are relatively
light users of Open Directory services on average and your buildings are connected by
fairly fast network links (such as 100 Mbit/s Ethernet), you probably do not need a
replica in each building.
You can reduce the communication overhead between Open Directory replicas and the
master by scheduling how often the Open Directory master updates the replicas. You
might not need the replicas updated every time a change occurs in the master.
Scheduling less frequent updates of replicas will improve performance of the network.
Improving Performance and Redundancy
You can improve the performance of Open Directory services by adding more memory
to the server and having it provide fewer services. This strategy applies to every other
service of Mac OS X Server as well. The more you can dedicate an individual server to a
particular task, the better its performance will be.
Beyond that general strategy, you can also improve Open Directory server performance
by directing the LDAP database to its own disk volume and the Open Directory logs to
another disk volume.
If your network will include replicas of an Open Directory master, you can improve
performance of the network by scheduling less frequent updates of replicas. Updating
less frequently means the replicas have less up-to-date directory data. You have to
strike a balance between higher network performance and less accuracy in your
replicas.
For greater redundancy of Open Directory services, you can set up additional servers as
Open Directory replicas. Another strategy for increasing redundancy is to use servers
with RAID sets for Open Directory services.
48Chapter 4 Open Directory Planning
Open Directory Security
With Mac OS X Server version 10.3, a server that has a shared LDAP directory domain
also provides Open Directory authentication. The authentication data stored by Open
Directory is particularly sensitive. This authentication data includes the Open Directory
Password Server database and the Kerberos database, which is extraordinarily sensitive.
Therefore you need to make sure that an Open Directory master and all Open Directory
replicas are secure:
• Physical security of a server that is an Open Directory master or replica is paramount.
It should be behind a locked door. It should always be left logged out.
• Secure the media you use to back up an Open Directory Password Server database
and a Kerberos database. Having your Open Directory servers behind locked doors
won’t protect a backup tape that you leave on your desk every night.
• If possible, do not use a server that is an Open Directory master or replica to provide
any other services. If you can’t dedicate servers to be Open Directory master and
replicas, at least minimize the number of other services they provide. One of the
other services could have a security breach that allows someone inadvertent access
to the Kerberos or Open Directory Password Server databases. Dedicating servers to
providing Open Directory services is an optimal practice but not required.
• Avoid using a RAID volume that’s shared with other computers as the startup volume
of a server that is an Open Directory master or replica. A security breach on one of
the other computers could jeopardize the security of the Open Directory
authentication information.
• Set up IP firewall service to block all ports except ports used for directory,
authentication, and administration protocols.
• Open Directory Password Server uses ports 106 and 3659.
• The Kerberos KDC uses TCP/UDP port 88, and TCP/UDP port 749 is used for
Kerberos administration.
• The shared LDAP directory uses TCP port 389 for an ordinary connection and TCP
port 636 for an SSL connection.
• Workgroup Manager uses TCP port 311 and 625.
• Server Admin uses TCP port 311.
• SMB uses TCP/UDP ports 137, 138, 139, and 445.
• Equip the Open Directory master computer with an uninterruptible power supply.
In summary, the most secure and best practice is to dedicate each server that is an
Open Directory master or replica to provide only Open Directory services. Set up a
firewall on each of these servers to allow only directory access, authentication, and
administration protocols: LDAP, Password Server, Kerberos, Workgroup Manager, and
Server Manager. Physically secure each Open Directory server and all backup media
used with it.
Chapter 4 Open Directory Planning49
Replication introduces a minimal increase in security risk. The replicated LDAP directory
data has no access controls to restrict reading it, so anyone on the network can
download the entire directory irrespective of replication. The password data is securely
replicated using random keys negotiated during each replication session. The
authentication portion of replication traffic—the Open Directory Password Server and
the Kerberos KDC—is fully encrypted. For extra security, you could configure network
connections between the Open Directory servers to use network switches rather than
hubs. This configuration would isolate authentication replication traffic to trusted
network segments.
Tools for Managing Open Directory Services
The Server Admin, Directory Access, and Workgroup Manager applications provide a
graphical interface for managing Open Directory services in Mac OS X Server. In
addition, you can manage Open Directory services from the command line by using
Terminal. If your network includes legacy NetInfo domains, you can manage them with
the Inspector in Workgroup Manager. (You could also use NetInfo Manager.)
All these applications are included with Mac OS X Server and can be installed on
another computer with Mac OS X version 10.3 or later, making that computer an
administrator computer. For more information on setting up an administrator
computer, see the server administration chapter of the getting started guide.
Server Admin
You use Server Admin to:
• Set up Mac OS X Server as an Open Directory master, an Open Directory replica, a
server that’s connected to a directory system, or a standalone server with only a local
directory. For instructions, see Chapter 5, “Setting Up Open Directory Services.”
• Set up additional Mac OS X Server systems to use the Kerberos KDC of an Open
Directory master or replica. For instructions, see Chapter 5.
• Migrate an upgraded server’s shared directory domain from NetInfo to LDAP. For
instructions, see Chapter 5.
• Configure LDAP options on an Open Directory master. For instructions, see
Chapter 5.
• Configure DHCP service to supply an LDAP server address to Mac OS X computers
with automatic search policies. For instructions, see the DHCP chapter of the network
services administration guide.
• Set up password policies that apply to all users who don’t have overriding individual
password policies. For instructions, see Chapter 6, “Managing User Authentication.”
(To set up individual password policies, use Workgroup Manager; see Chapter 6.)
• Monitor Open Directory services. For instructions, see Chapter 8, “Maintenance and
Problem Solving.”
50Chapter 4 Open Directory Planning
For basic information about using Server Admin, see the chapter on server
administration in the getting started guide.
Server Admin is installed in /Applications/Server/.
Directory Access
You use Directory Access to:
• Enable or disable kinds of directory services and kinds of network service discovery
on a Mac OS X computer.
• Define authentication and contacts search policies for a Mac OS X computer.
• Configure connections to LDAP directories, an Active Directory domain, an NIS
domain, and NetInfo domains.
• Configure data mapping for LDAP directories.
Directory Access can connect to other computers on your network so you can
configure them remotely.
For instructions on using Directory Access, see Chapter 7, “Managing Directory Access.”
Directory Access is installed on every Mac OS X computer in /Applications/Utilities/.
Workgroup Manager
You use Workgroup Manager to:
• Set up and manage user, group, and computer accounts. For instructions, see the
chapters on user, group, and computer accounts in the user management guide and
the Windows services administration guide.
• Manage share points for file service and for user home directories and roaming user
profiles. For instructions, see the chapter on share points in the file services
administration guide and the chapter on managing Windows services in the
Windows services administration guide.
• Access the Inspector, which lets you work with all Open Directory records and
attributes. For instructions, see Chapter 8, “Maintenance and Problem Solving.”
For basic information about using Workgroup Manager, see the chapter on server
administration in the getting started guide.
Workgroup Manager is installed in /Applications/Server/.
Command-Line Tools
A full range of command-line tools are available for administrators who prefer to use
command-driven server administration. For remote server management, submit
commands in a Secure Shell (SSH) session. You can type commands on Mac OS X
servers and computers by using the Terminal application, located in /Applications/
Utilities/. For instructions, see the command-line administration guide.
Chapter 4 Open Directory Planning51
NetInfo Manager
You use NetInfo Manger to view and change records, attributes, and values in legacy
NetInfo domains on computers that still use or have been upgraded from Mac OS X
Server version 10.2 or earlier. You can do these same tasks by using the Inspector in
Workgroup Manager. You can also use NetInfo Manager to manage a legacy NetInfo
hierarchy and back up and restore a legacy NetInfo domain.
NetInfo Manager is located in /Applications/Utilities/.
52Chapter 4 Open Directory Planning
5Setting Up Open Directory
Services
5
You can use Server Admin to set up the Open Directory
role of a server, set up single signon and Kerberos
authentication services, configure LDAP options, and
migrate from NetInfo to LDAP.
Open Directory services—directory services and authentication services—are an
essential part of a network’s infrastructure. These services have a significant effect on
other network services and on users. Therefore Open Directory must be set up correctly
from the beginning.
Setup Overview
Here is a summary of the major tasks you perform to set up Open Directory services.
See the pages indicated for detailed information about each step.
Step 1: Before you begin, do some planning
See “Before You Begin” on page 54 for a list of items to think about before you
configure Open Directory on Mac OS X Server.
Step 2: Set up your Open Directory master
See “Setting Up an Open Directory Master” on page 56 and “Setting LDAP Options” on
page 63.
Step 3: Set up replicas of your Open Directory master
See “Setting Up an Open Directory Replica” on page 57 and “Setting LDAP Options” on
page 63.
Step 4: Set up servers that connect to other directory systems
See “Setting Up a Connection to a Directory System” on page 60.
Step 5: Set up single signon and Kerberos authentication
See “Setting Up Single Signon and Kerberos” on page 61.
53
Step 6: Migrate upgraded servers from NetInfo to LDAP
See “Migrating a Directory Domain From Netinfo to LDAP” on page 66 and “Disabling
NetInfo After Migrating to LDAP” on page 69.
Step 7: Set up Directory Access on servers and client computers
See Chapter 7, “Managing Directory Access.”
Before You Begin
Before setting up Open Directory services for the first time:
• Understand the uses of directory data and assess your directory needs.
Identify the services that require data from directory domains, and determine which
users will need access to those services.
Users whose information can be managed most easily on a server should be defined
in the shared LDAP directory of a Mac OS X Server that is an Open Directory master.
Some of these users may instead be defined in directory domains on other servers,
such as an Active Directory domain on a Windows server.
These concepts are discussed in Chapter 1, “Directory Service Concepts.”
• Assess whether you need more than one shared domain. If so, decide which users
will be defined in each shared domain. See Chapter 2, “Open Directory Search
Policies,” for more information.
• Determine which authentication options users need. For descriptions of the available
options, see Chapter 3, “User Authentication With Open Directory.”
• Decide how to organize your directory domains, including replicas of Open Directory
masters. Chapter 4, “Open Directory Planning,” provides some guidelines.
• Pick server administrators very carefully. Give only trusted people administrator
passwords. Have as few administrators as possible. Don’t delegate administrator
access for minor tasks, such as changing settings in a user record.
Important: Directory information is authoritative. It vitally affects everyone whose
computers use it.
Setting Up Open Directory With Server Assistant
The initial setup of Open Directory occurs when you use Server Assistant during
installation of Mac OS X Server. For instructions on using Server Assistant, see the
getting started guide.
54Chapter 5 Setting Up Open Directory Services
Managing Open Directory on a Remote Server
You can install Server Admin on a computer with Mac OS X version 10.3 or later and use
it to manage Open Directory on any server locally or remotely. You can also manage
Open Directory remotely by using command-line tools from a Mac OS X computer or a
non-Macintosh computer. For more information, see the server administration chapter
of the getting started guide.
Setting Up a Standalone Server
Using Server Admin, you can set up Mac OS X Server to use only the server’s local
directory domain. The server does not provide directory information to other
computers or get directory information from an existing system. (The local directory
domain cannot be shared.)
Important: If you change Mac OS X Server to get directory information only from its
local directory domain, then user records and other information that the server
formerly retrieved from a shared directory domain will become unavailable:
• The user records and other information will still exist in the shared directory domain
but will become unavailable to the server’s users and services.
• Files and folders on the server may become unavailable to users whose accounts are
in the shared directory domain.
• If the server was an Open Directory master and other servers were connected to it:
• Services may be disrupted on the connected servers when the user accounts and
other information in the shared directory domain become unavailable.
• Users whose accounts are in the shared directory domain may no longer be able
to access files and folders on the Open Directory master and on other servers that
were connected to its shared LDAP directory domain.
You can back up the LDAP directory and Open Directory Password Server database
before changing from Open Directory master to standalone server. For instructions, see
“Backing Up Open Directory Files” on page 118.
To configure a server to use only its own nonshared local directory domain:
1 Open Server Admin and select Open Directory for a server in the Computers & Services
list.
2 Click Settings (near the bottom of the window), then click General (near the top).
3 Choose Standalone Server from the Role pop-up menu.
4 If you are sure that users and services no longer need access to the directory data
stored in the shared directory domain that the server has been hosting or connected
to, click Save.
Chapter 5 Setting Up Open Directory Services55
Setting Up an Open Directory Master
Using Server Admin, you can set up Mac OS X Server to be an Open Directory master
so it can provide directory information and authentication information to other
systems. Mac OS X Server provides directory information by hosting a shared LDAP
directory domain. In addition, the server authenticates users whose accounts are stored
in the shared LDAP directory domain.
Important: If you change a Mac OS X Server computer that was connected to another
directory system to be an Open Directory master instead, the server remains connected
to the other directory system. The server will search for user records and other
information in its shared LDAP directory domain before searching in other directory
systems to which it is connected.
To configure a server to host a shared LDAP domain:
1 Open Server Admin and select Open Directory for a server in the Computers & Services
list.
A server must have Mac OS X Server version 10.3 or later to be an Open Directory
master.
2 Click Settings (near the bottom of the window), then click General (near the top).
3 Choose Open Directory Master from the Role pop-up menu and enter the requested
information.
Administrator short name: The short name of an administrator account in the server’s
local directory domain that you want to have copied to the new shared LDAP directory.
This account will be an administrator of the LDAP directory domain.
Administrator password: The password for the administrator account whose short
name you entered.
Kerberos realm name: By convention, the Kerberos realm name is the same as the
server’s DNS name but in all uppercase letters. For example, a server whose DNS name
is example.com would have a Kerberos realm name of EXAMPLE.COM.
Search base (optional): The search base suffix for the new LDAP directory. Typically,
the search base suffix is derived from the server’s DNS name. For example, the search
base suffix could be “dc=example, dc=com” for a server whose DNS name is
server.example.com.
4 Click OK, then click Save.
After setting up a Mac OS X Server computer to be an Open Directory master, you can
configure other computers with Mac OS X or Mac OS X Server to access the server’s
shared LDAP directory domain:
56Chapter 5 Setting Up Open Directory Services
• You can configure DHCP service to supply the Open Directory master as an LDAP
server to computers with automatic search policies. Computers with Mac OS X or
Mac OS X Server version 10.2 can have automatic search policies. These computers
don’t have to be configured individually to access the LDAP server. When these
computers start up, they try to get the address of an LDAP server from DHCP service.
• You can configure a computer to access the server’s LDAP directory and then add the
server’s LDAP directory to the computer’s custom search policy.
For instructions on configuring DHCP to supply an LDAP server’s address, see the
network services administration guide. For instructions on setting up search policies
and configuring access to specific LDAP directory domains, see Chapter 7, “Managing
Directory Access.”
Setting Up an Open Directory Replica
Using Server Admin, you can set up Mac OS X Server to be a replica of an Open
Directory master so it can provide the same directory information and authentication
information to other systems as the master. The replica server hosts a read-only copy of
the master’s LDAP directory domain. The replica server also hosts a read/write copy of
the authentication database associated with the master directory domain and the
Kerberos Key Distribution Center (KDC).
Open Directory replicas can provide these benefits:
• In a wide area network (WAN) of local area networks (LANs) interconnected by slow
links, replicas on the LANs can provide servers and client computers with fast access
to user accounts and other directory information.
• A replica provides redundancy. If the Open Directory master fails, computers
connected to it automatically switch to a nearby replica. This automatic failover
behavior is a feature of version 10.3 and later of Mac OS X and Mac OS X Server.
Important: When you set up an Open Directory replica, all the directory and
authentication data must be copied to it from the Open Directory master. Replication
may take several seconds or several minutes depending on the size of the directory
domain. Replication over a slow network link can take a very long time. During
replication, the master cannot provide directory or authentication services. User
accounts in the master LDAP directory can’t be used to log in or authenticate for
services until replication is finished. To minimize the disruption of directory service, set
up a replica before the master LDAP directory is fully populated or at a time of day
when the directory service is not needed. Having another replica already set up will
insulate clients of directory service from the master being unavailable.
Chapter 5 Setting Up Open Directory Services57
Important: If you change a Mac OS X Server computer that was connected to another
directory system to be an Open Directory replica instead, the server remains connected
to the other directory system. The server will search for user records and other
information in its shared LDAP directory domain before searching in other directory
systems to which it is connected.
To configure a server to host a replica of an Open Directory master:
1 Open Server Admin and select Open Directory for a server in the Computers & Services
list.
A server must have Mac OS X Server version 10.3 or later to be an Open Directory
replica.
2 Click Settings (near the bottom of the window), then click General (near the top).
3 Choose Open Directory Replica from the Role pop-up menu and enter the requested
information.
IP address of LDAP master: Enter the IP address of the server that is the Open
Directory master.
root’s password on LDAP master: Enter the password of the Open Directory master
system’s root user (user name System Administrator).
Password Server admin’s name on replica: Enter the name of an administrator
account whose password type is Open Directory.
Password Server admin’s password on replica: Enter the password of the
administrator account whose name you entered.
4 Click OK, then click Save.
5 Make sure the date, time, and time zone are correct on the replica and the master.
The replica and the master should use the same network time service so their clocks
remain in sync.
After you set up an Open Directory replica, other computers will connect to it
automatically as needed. Computers with version 10.3 and later of Mac OS X and
Mac OS X Server maintain a list of all replicas of an Open Directory master to which
they are connected. If one of these computers can’t contact the Open Directory master
for directory and authentication services, the computer automatically connects to the
nearest replica of the master.
58Chapter 5 Setting Up Open Directory Services
You can configure Mac OS X computers to connect to an Open Directory replica
instead of the Open Directory master for directory and authentication services. On each
Mac OS X computer, you can use Directory Access to create an LDAPv3 configuration
for accessing the replica’s LDAP directory and set up a custom search policy that
includes this LDAPv3 configuration. You can also configure a DHCP service to supply
the replica’s LDAP directory to Mac OS X computers that get the address of an LDAP
server from the DHCP service. See “Accessing LDAP Directories” on page 90 and
“Defining Automatic Search Policies” on page 88. See the network services
administration guide for instructions on setting up DHCP service to supply an LDAP
server’s address.
The Open Directory master automatically updates the replica. You can configure the
master to update its replicas at a specific interval or whenever the master directory
changes. For instructions, see “Setting the Replication Frequency of an Open Directory
Master” on page 64.
Setting Up Open Directory Failover
If an Open Directory master or any of its replicas become unavailable, its client
computers with Mac OS X version 10.3 or Mac OS X Server version 10.3 will
automatically find an available replica and connect to it.
Replicas only allow clients to read directory information. Directory information on a
replica can’t be modified with administration tools such as Workgroup Manager.
Users whose password type is Open Directory can change their passwords on
computers that are connected to Open Directory replicas. The replicas automatically
synchronize password changes with the master. If the master is unavailable for a while,
the replicas synchronize password changes with the master when it becomes available
again.
If an Open Directory master or replica becomes unavailable and it has client computers
with version 10.2 or earlier of Mac OS X or Mac OS X Server, these client computers
must be reconfigured manually to connect to an available replica. You can use
Directory Access to create an LDAPv3 configuration that specifies how the computer
accesses an available replica. For instructions, see “Accessing LDAP Directories” on
page 90.
Chapter 5 Setting Up Open Directory Services59
Setting Up a Connection to a Directory System
Using Server Admin, you can set up Mac OS X Server to get user records and other
directory information from another server’s shared directory domain. The other server
also provides authentication for its directory information. Mac OS X Server will still get
directory information from its own local directory domain and will provide
authentication for this directory information.
Important: Changing Mac OS X Server to be connected to another directory system
instead of being an Open Directory master will deactivate its shared LDAP directory
domain, with the following ramifications:
• User records and other directory information will still exist in the deactivated
directory domain but will be unavailable to the server’s users and services.
• If other servers were connected to the master directory domain, their services may
be disrupted when the user accounts and other information in the deactivated
directory domain become unavailable.
• Users who had accounts in the deactivated directory domain may no longer be able
to access files and folders on the Open Directory master and on other servers that
were connected to the master directory domain.
To configure a server to get directory services from an existing system:
1 Open Server Admin and select Open Directory for a server in the Computers & Services
list.
2 Click Settings (near the bottom of the window), then click General (near the top).
3 Choose “Connected to a Directory System” from the Role pop-up menu.
4 If the server was an Open Directory master and you are sure that users and services no
longer need access to the directory data stored in the shared directory domain that the
server has been hosting, click Save.
5 Click the Open Directory Access button to configure access to one or more directory
systems.
For instructions on configuring access to a particular kind of directory service, see
Chapter 7, “Managing Directory Access.”
Note: If you connect Mac OS X Server version 10.3 or later to a directory domain of
Mac OS X Server version 10.2 or earlier, be aware that users defined in the older
directory domain cannot be authenticated with the MS-CHAPv2 method. This method
may be required to securely authenticate users for the VPN service of Mac OS X Server
version 10.3 and later. Open Directory in Mac OS X Server version 10.3 supports MSCHAPv2 authentication, but Password Server in Mac OS X Server version 10.2 does not
support MS-CHAPv2.
60Chapter 5 Setting Up Open Directory Services
Setting Up Single Signon and Kerberos
Setting up single signon and Kerberos authentication involves these tasks:
• An administrator who has authority to manage directory domains sets up a server as
an Open Directory master, which hosts a Kerberos Key Distribution Center (KDC). See
“Setting Up an Open Directory Master for Single Signon and Kerberos” on page 61.
• The network administrator delegates to specific server administrators the authority
to join their servers to the Open Directory master server for single signon and
Kerberos authentication. (If you want to set up a server to join an Open Directory
master for single signon and Kerberos, you must delegate authority to yourself.) See
“Delegating Authority to Join an Open Directory Master for Single Signon and
Kerberos” on page 62.
• Delegated administrators join their servers to the Open Directory master, which then
provides single signon and Kerberos authentication for services provided by the
servers that have joined. See “Joining a Server to an Open Directory Master for Single
Signon and Kerberos” on page 63.
• All computers using single signon and Kerberos should be set to the correct date,
time, and time zone. They should all be configured to use the same network time
server. Kerberos depends on the clocks of all participating computers being in sync.
• DNS must be available on the network.
The individual services of Mac OS X Server version 10.3 and later do not require any
configuration for single signon or Kerberos. The following services are ready for
Kerberos and single signon on every server with Mac OS X Server version 10.3 and later
that is an Open Directory master or has joined one:
• Login window
• Mail service
• FTP
• AFP service
• SSH
These services are “Kerberized” whether they are running or not.
Setting Up an Open Directory Master for Single Signon and
Kerberos
You can provide single signon and Kerberos authentication on your network by setting
up an Open Directory master. You can set up an Open Directory master during the
initial configuration that follows installation of Mac OS X Server version 10.3 and later. If
you have set up Mac OS X Server to have a different Open Directory role, you can
change its role to that of Open Directory master by using Server Admin.
Chapter 5 Setting Up Open Directory Services61
A server that is an Open DIrectory master requires no additional configuration to
support single signon and Kerberos authentication for all the Kerberized services that
the server itself provides. This server can also support single signon and Kerberos
authentication for Kerberized services of other servers on the network. The other
servers must be set up to join the Open Directory master for single signon and
Kerberos.
For instructions, see the getting started guide, “Setting Up an Open Directory Master”
on page 56, “Delegating Authority to Join an Open Directory Master for Single Signon
and Kerberos” on page 62, and “Joining a Server to an Open Directory Master for Single
Signon and Kerberos” on page 63.
Delegating Authority to Join an Open Directory Master for Single
Signon and Kerberos
Using Server Admin, you can delegate the authority to join a server to an Open
Directory master for single signon and Kerberos authentication. You can delegate
authority to one or more user accounts on one server. The user accounts to which you
are delegating authority must have a password type of Open Directory and must reside
in the LDAP directory of the Open Directory master. The server for which you are
delegating authority must have Mac OS X Server version 10.3 or later.
If you want to delegate authority for more than one server, repeat this procedure for
each one.
Important: If a delegated administrator’s account is deleted and recreated on the
target server, the new account will not have authority to join the Kerberos server. As a
precaution, you should delegate authority to at least two accounts on the target server.
One account can belong to a network administrator (an administrator of the Kerberos
domain).
To delegate authority to join an Open Directory master for single signon and
Kerberos:
1 Open Workgroup Manager, make sure the target server has been added to a computer
account in the LDAP directory domain of the server from which you’re delegating
authority, and note the name of the target server in the computer account.
2 The name of the target server in the computer account corresponds to the name of the
server’s computer record in the LDAP directory domain. Adding the server to a
computer account creates a computer record for the server. For instructions on adding
the server to a computer account, see the computer accounts chapter of the user
management guide. Open Server Admin and select Open Directory for the Open
Directory master server in the Computers & Services list.
3 Click Settings (near the bottom of the window), then click General (near the top).
4 Confirm that the Role is Open Directory Master, then click Add Kerberos Record and
enter the requested information.
62Chapter 5 Setting Up Open Directory Services
Administrator Name: Enter the name of an LDAP directory administrator on the Open
Directory master server.
Administrator Password: Enter the password of the administrator account you
entered.
Configuration Record Name: Enter the computer record name of the server for which
you are delegating authority to join Kerberos. The server’s computer record name is the
same as the server’s name in a computer account.
Delegated Administrators: Enter a short name or a long name for each user account
to which you want to delegate authority. Separate multiple names by pressing Return
after each name.
Joining a Server to an Open Directory Master for Single Signon
and Kerberos
Using Server Admin, a server administrator whose user account has the properly
delegated authority can join a server to an Open Directory master for single signon and
Kerberos authentication. This authority must be delegated in advance by an
administrator of the Open Directory master.
To join a server to an Open Directory master for single signon and Kerberos:
1 Open Server Admin and select Open Directory for the target server in the Computers &
Services list.
2 Click Settings (near the bottom of the window), then click General (near the top).
3 Confirm that the Role is Connected to a Directory System, then click Join Kerberos and
enter the name and password of a user account that has been delegated authority for
the target server.
Setting LDAP Options
You can set several options for LDAP directories of an Open Directory master or replica.
See the following:
• “Setting the Replication Frequency of an Open Directory Master” (next)
• “Changing the Location of an LDAP Database” on page 64
• “Limiting Search Results for LDAP Service” on page 65
• “Changing the Search Timeout for LDAP Service” on page 65
• “Setting up SSL for LDAP Service” on page 65
Chapter 5 Setting Up Open Directory Services63
Setting the Replication Frequency of an Open Directory Master
Using Server Admin, you can specify how frequently an Open Directory master will
update its replicas with changes to directory and authentication information. The
master can update the replicas whenever a change occurs in the master directory
domain or on a schedule you specify.
To specify how frequently an Open Directory master updates its replicas:
1 Open Server Admin and select Open Directory for an Open Directory master server in
the Computers & Services list.
2 Click Settings (near the bottom of the window), then click General (near the top).
3 Specify a replication frequency.
“Replicate to clients whenever the directory is modified”: Keeps replicas accurate,
but increases network load. May impair the performance of the master if a replica is
connected via a slow network link.
“Replicate to clients every __”: Allows you to schedule less frequent updates (by
specifying a longer interval). Less frequent updates trades less accuracy of replicas for
fewer network connections between the master and its replicas. Fewer network
connections may be desirable if replicas are not all on the same LAN as the master.
4 Click Save.
Changing the Location of an LDAP Database
Using Server Admin, you can specify the disk location of the database that stores the
user records and other information in an LDAP directory domain of an Open Directory
master or replica. The LDAP database is usually located on the startup volume, but can
be on a different local volume.
Note: For security purposes, databases that store authentication information for Open
Directory and Kerberos are always located on the startup volume regardless of the
LDAP database location.
To change the location of a shared LDAP database:
1 Open Server Admin and in the Computers & Services list, select Open Directory for a
server that is an Open Directory master or an Open Directory replica.
2 Click Settings (near the bottom of the window), then click Protocols (near the top).
3 Choose LDAP Settings from the Configure pop-up menu, then specify the folder path
where you want the LDAP database to be located.
4 Click Save.
64Chapter 5 Setting Up Open Directory Services
Limiting Search Results for LDAP Service
Using Server Admin, you can prevent one type of denial-of-service attack on Mac OS X
Server by limiting the number of search results returned by the server’s shared LDAP
directory domain. Limiting the number of search results prevents a malicious user from
tying up the server by sending it multiple all-inclusive LDAP search requests.
To set a maximum number of LDAP search results:
1 Open Server Admin and in the Computers & Services list, select Open Directory for a
server that is an Open Directory master or an Open Directory replica.
2 Click Settings (near the bottom of the window), then click Protocols (near the top).
3 Choose LDAP Settings from the Configure pop-up menu, then enter the maximum
number of search results.
4 Click Save.
Changing the Search Timeout for LDAP Service
Using Server Admin, you can prevent one type of denial-of-service attack on Mac OS X
Server by limiting the amount of time the server will spend on one search of its shared
LDAP directory domain. Setting a search timeout prevents a malicious user from tying
up the server by sending it an exceptionally complex LDAP search request.
To set a timeout interval for LDAP searches:
1 Open Server Admin and in the Computers & Services list, select Open Directory for a
server that is an Open Directory master or an Open Directory replica.
2 Click Settings (near the bottom of the window), then click Protocols (near the top).
3 Choose LDAP Settings from the Configure pop-up menu, then specify a search timeout
interval.
4 Click Save.
Setting up SSL for LDAP Service
Using Server Admin, you can set up encrypted communications between a shared
LDAP directory domain on Mac OS X Server and other servers that connect to the
directory domain. You can enable Secure Sockets Layer (SSL) for encrypted LDAP
communications and specify the location of the SSL certificate file, key file, and
certificate authority (CA) certificate file.
SSL communications for LDAP use port 636. If SSL is disabled for LDAP service,
communications are sent as clear text on port 389.
Chapter 5 Setting Up Open Directory Services65
To set up SSL communications for LDAP service:
1 Open Server Admin and in the Computers & Services list, select Open Directory for a
server that is an Open Directory master or an Open Directory replica.
2 Click Settings (near the bottom of the window), then click Protocols (near the top).
3 Choose LDAP Settings from the Configure pop-up menu, then select Use SSL.
4 Enter the location and name for the SSL Certificate, SSL Key, and CA Certificate.
Instead of typing or pasting the location and name of the SSL Certificate, SSL Key, or CA
Certificate, you can locate it by clicking the Browse button next to the field.
5 Click Save.
Migrating a Directory Domain From Netinfo to LDAP
You can use Server Admin to migrate a shared NetInfo directory domain to LDAP. The
migration process irreversibly replaces the directory domain’s NetInfo back-end
database with a Berkeley DB back-end database. After migration, client computers that
were configured to use NetInfo to access the directory domain will be able to continue
accessing it.
After migration, you can configure DHCP service to provide the migrated directory
domain as an LDAP server to client computers with Mac OS X or Mac OS X Server
version 10.2 and later that have automatic authentication search policies.
You can have client computers with Mac OS X version 10.3 or Mac OS X Server version
10.3 automatically switch to using LDAP to access the migrated directory domain. The
migration process can store auto-switch information in the directory domain. When
Mac OS X and Mac OS X Server version 10.3 and later use NetInfo to access a directory
domain that has been migrated to LDAP, they pick up the auto-switch information from
the directory domain and reconfigure themselves to access the directory domain using
LDAP henceforth.
When you set up migration, you can specify a date on which NetInfo access to the
migrated directory domain will be disabled. Alternatively, you can disable NetInfo
access at any time by clicking a button. After NetInfo is disabled, client computers can’t
switch automatically to LDAP.
The migration process moves all standard record types and data types from the NetInfo
database to an LDAP database. If the NetInfo directory domain was modified to contain
custom record types or data types, they are not moved to the LDAP database.
66Chapter 5 Setting Up Open Directory Services
Migration to LDAP does not change how user passwords are validated except for
passwords validated by Authentication Manager. Passwords that were validated by a
Password Server continue to be validated by the same Password Server. If any user
accounts in the NetInfo domain used Authentication Manager for password validation,
the migration process converts them to have a password type of Open Directory. Of
course, an administrator can change the password type of any migrated user account
to Open Directory so that the user account can take advantage of single signon and
Kerberos authentication.
Important: Do not click the Disable NetInfo button by accident. Clicking Disable
NetInfo immediately disables NetInfo access to the directory domain. You can’t undo
this change. After disabling NetInfo, all computers that need to connect to the
directory domain must be configured to do so using LDAP.
To migrate a server’s shared directory domain from NetInfo to LDAP:
1 Open Server Admin and select Open Directory for an Open Directory master server in
the Computers & Services list.
2 Click Settings (near the bottom of the window), then click Protocols (near the top).
3 Choose NetInfo Migration from the Configure pop-up menu.
4 Click Migrate and set the migration options.
Administrator short name: The short name of an administrator account in the server’s
local directory domain that you want to have copied to the migrated LDAP directory.
This account will be an administrator of the LDAP directory domain.
Administrator password: The password for the administrator account whose short
name you entered.
Kerberos realm name: By convention, the Kerberos realm name is the same as the
server’s DNS name but in all uppercase letters. For example, a server whose DNS name
is example.com would have a Kerberos realm name of EXAMPLE.COM.
Search base (optional): The search base suffix for the migrated LDAP directory.
Typically, the search base suffix is derived from the server’s DNS name. For example, the
search base suffix could be “dc=example, dc=com” for a server whose DNS name is
server.example.com.
Switch existing NetInfo clients to LDAP: Enables client computers with Mac OS X or
Mac OS X Server version 10.3 to automatically reconfigure themselves to access the
migrated directory domain using LDAP instead of NetInfo.
Shut down NetInfo Server at 2:00 am on __: Enter a date when you want to end
NetInfo access to the migrated directory domain. After NetInfo is disabled, all
computers must use LDAP to access the migrated directory domain.
5 Click OK to begin migration.
The migration process can take a while.
Chapter 5 Setting Up Open Directory Services67
6 After migration finishes, set up DHCP service to provide the LDAP server’s address to
client computers with automatic search policies.
Computers with Mac OS X or Mac OS X Server version 10.2 can have automatic search
policies. These computers don’t have to be configured individually to access the LDAP
server. When these computers start up, they try to get an LDAP server’s address from
DHCP service.
For instructions on setting up DHCP service to supply an LDAP server’s address, see the
network services administration guide.
Switching Directory Access From NetInfo to LDAP
After you migrate a shared directory domain of Mac OS X Server from NetInfo to LDAP,
some clients will switch to LDAP automatically, but you may have to configure other
clients to use LDAP and you may have to reconfigure DHCP service.
• Computers with an automatic authentication search policy get the address of their
directory server from DHCP service. Therefore, you need to change DHCP service to
supply the address of the migrated LDAP directory’s server.
• Computers with Mac OS X Server version 10.3 that were using NetInfo to access the
migrated directory domain can switch to LDAP automatically. Automatic switching
must be enabled when the directory domain is migrated from NetInfo to LDAP.
Mac OS X can no longer switch automatically to LDAP after you disable NetInfo on
the migrated directory domain’s server.
• You can manually switch a Mac OS X computer to LDAP by using Directory Access.
• You can configure the computer to use an automatic authentication search policy.
In this case, you also need to configure DHCP service to supply the migrated LDAP
directory server’s address to its clients.
• Alternatively, you can set up an LDAPv3 configuration on the computer and add
this LDAPv3 configuration to the computer’s custom authentication search policy.
• After you disable NetInfo on the server, make sure DHCP is not supplying the server’s
address for NetInfo binding.
For more information, see “Migrating a Directory Domain From Netinfo to LDAP” on
page 66, “Setting Up the Authentication and Contacts Search Policies” on page 87, and
“Accessing LDAP Directories” on page 90, and the DHCP chapter in the network
services administration guide.
68Chapter 5 Setting Up Open Directory Services
Disabling NetInfo After Migrating to LDAP
If none of the client computers on your network needs NetInfo access to a directory
domain that has been migrated to LDAP, you can use Server Admin to disable NetInfo.
You can manually disable the NetInfo server even if you scheduled a shutdown of the
NetInfo server while setting up the migration to LDAP.
Important: Do not disable NetInfo prematurely. After disabling NetInfo, all computers
that need to connect to the directory domain must be configured to do so using LDAP.
To disable NetInfo access to a directory domain that has been migrated to
LDAP:
1 Open Server Admin and select Open Directory for an Open Directory master server in
the Computers & Services list.
2 Click Settings (near the bottom of the window), then click Protocols (near the top).
3 Choose NetInfo Migration from the Configure pop-up menu.
4 Click Disable NetInfo.
Clicking Disable NetInfo immediately disables NetInfo access to the directory domain.
You can’t undo this change.
Chapter 5 Setting Up Open Directory Services69
6Managing User Authentication
6
The authentication services included with Mac OS X
Server don’t require any setup, but you can change how
each user is authenticated.
Mac OS X Server can authenticate users by:
• Using single signon with the Kerberos Key Distribution Center (KDC) built into
Mac OS X Server
• Using a password stored securely in the Open Directory Password Server database
• Using a shadow password stored as several hashes, including NT and LAN Manager,
in a file that only the root user can access
• Using a crypt password stored directly in the user’s account
• Using a non-Apple LDAP server for simple LDAP bind authentication
Single signon and Kerberos authentication require minimal setup of Mac OS X Server.
The other authentication options require no setup of Mac OS X Server.
You can manage how Mac OS X Server uses the available options to authenticate users.
For task descriptions and instructions, see:
• “Composing a Password” on page 72
• “Changing a User’s Password” on page 72
• “Resetting the Passwords of Multiple Users” on page 73
• “Changing the Global Password Policy” on page 74
• “Setting Password Policies for Individual Users” on page 75
• “Changing a User’s Password Type” on page 76
This includes changing the password type to Open Directory, shadow password, or
crypt password; and enabling single signon, Kerberos, or LDAP bind authentication.
• “Assigning Administrator Rights for Open Directory Authentication” on page 80
• “Exporting and Importing Users Whose Password Type Is Open Directory” on page 81
• “Migrating Passwords to Open Directory Authentication” on page 82
71
Composing a Password
The password associated with a user’s account must be entered by the user when he or
she authenticates for login or some other service. The password is case sensitive
(except for SMB LAN Manager passwords) and is masked on the screen as it is entered.
Regardless of the password type you choose for any user, here are some guidelines for
composing a password for Mac OS X Server users:
• A password should contain letters, numbers, and symbols in combinations that won’t
be easily guessed by unauthorized users. Passwords should not consist of actual
words. Good passwords might include digits and symbols (such as # or $). Or they
might consist of the first letter of all the words in a particular phrase. Use both
uppercase and lowercase letters.
• Avoid spaces and Option-key combinations.
• Avoid characters that can’t be entered on computers the user will be using or that
might require knowing a special keystroke combination to enter correctly on
different keyboards and platforms.
• Some network protocols do not support passwords that contain leading spaces,
embedded spaces, or trailing spaces.
• A zero-length password is not recommended; Open Directory and some systems
(such as LDAP bind) do not support a zero-length password.
For maximum compatibility with computers and services your users might use, use
only ASCII characters in passwords.
Changing a User’s Password
You can use Workgroup Manager to change a user’s password.
To change a user’s password:
1 In Workgroup Manager, click the Accounts button, then click the User button.
2 Open the directory domain that contains the user account whose password you want
to change, and authenticate as an administrator of the domain.
To open a directory domain, click the small globe icon above the list of users and
choose from the pop-up menu.
If the user’s password type is Open Directory, you must authenticate as an
administrator whose password type is Open Directory.
3 Select the account whose password needs to be changed.
4 Enter a password on the Basic pane, then click Save.
5 Tell the user the new password so he or she can log in.
After the user logs in to Mac OS X with the new password, the user can change the
password by clicking Accounts in System Preferences.
72Chapter 6 Managing User Authentication
If you change the password of an account whose password type is Open Directory and
the account resides in the LDAP directory of an Open Directory replica or master, the
change will eventually be synchronized with the master and all its replicas. Mac OS X
Server automatically synchronizes changes to Open Directory passwords among a
master and its replicas.
Resetting the Passwords of Multiple Users
You can use Workgroup Manager to simultaneously select multiple user accounts and
change them all to have the same password type and the same temporary password.
To change the password type and password of multiple user accounts:
1 In Workgroup Manager, click the Accounts button, then click the User button.
2 Open the directory domain that contains the user account whose password types and
passwords you want to reset, and authenticate as an administrator of the domain.
To open a directory domain, click the small globe icon above the list of users and
choose from the pop-up menu.
If you want to set the password type to be Open Directory, you must authenticate as
an administrator whose password type is Open Directory.
3 Command-click or Shift-click user accounts to select all accounts whose password type
needs to be changed.
4 Enter a password on the Basic pane, then set the User Password Type option on the
Advanced pane.
5 Click Save.
6 Tell the users the temporary password so they can log in.
After logging in with the temporary password, a user can change the password by
clicking Accounts in System Preferences.
If you change the password of accounts whose password type is Open Directory and
the accounts reside in the LDAP directory of an Open Directory replica or master, the
change will eventually be synchronized with the master and all its replicas. Mac OS X
Server automatically synchronizes changes to Open Directory passwords among a
master and its replicas.
Chapter 6 Managing User Authentication73
Changing the Global Password Policy
Using Server Admin, you can set a global password policy for user accounts in a
Mac OS X Server directory domain. The global password policy affects user accounts in
the server’s local directory domain. If the server is an Open Directory master or replica,
the global password policy also affects the server’s LDAP directory domain. If you
change the global password policy on an Open Directory replica, the policy settings
will eventually be synchronized with the master and any other replicas of it.
Both Kerberos and Open Directory Password Server enforce password policies. Some
password policy rules apply to Open Directory Password Server and Kerberos, and
some apply only to Open Directory Password Server. Mac OS X Server synchronizes the
password policy rules that apply to both Kerberos and Open Directory Password Server.
Administrator accounts are always exempt from password policies. Each user can have
an individual password policy that overrides some of the global password policy
settings. For more information, see “Setting Password Policies for Individual Users” on
page 75.
To change the global password policy of all user accounts in the same domain:
1 Open Server Admin and select Open Directory for a server in the Computers & Services
list.
2 Click Settings (near the bottom of the window), then click Authentication (near the
top).
3 Set the password policy options you want enforced for users who do not have their
own individual password policies.
“Disable login on __”: If you select this option, enter a date in mm/dd/yyyy format; for
example, 02/22/2005.
“Password must be changed every __”: If you select this option, remember that some
service protocols don’t allow users to change passwords. For example, users can’t
change their passwords when authenticating for IMAP mail service, and users can’t
change passwords when authenticating for Windows file service.
4 Click Save.
Replicas of the Open Directory master automatically inherit its global password policy.
74Chapter 6 Managing User Authentication
Setting Password Policies for Individual Users
Using Workgroup Manager, you can set password policies for individual user accounts
whose password type is Open Directory. The password policy for a user overrides the
global password policy defined on the Authentication Settings pane of Open Directory
service in Server Admin. Administrator accounts are always exempt from password
policies.
Both Kerberos and Open Directory Password Server enforce password policies. Some
password policy rules apply to Open Directory Password Server and Kerberos, and
some apply only to Open Directory Password Server. Mac OS X Server synchronizes the
password policy rules that apply to both Kerberos and Open Directory Password Server.
To set a user account’s password policy, you must have administrator rights for Open
Directory authentication in the directory domain that contains the user accounts
whose password policy you want to change. This means you must authenticate as a
directory domain administrator whose password type is Open Directory. For more
information, see “Assigning Administrator Rights for Open Directory Authentication” on
page 80.
To change the password policy for a user account:
1 In Workgroup Manager, open the account you want to work with if it is not already
open.
To open an account, click the Accounts button, then click the Users button. Click the
small globe icon above the list of users and choose from the pop-up menu to open the
directory domain where the user’s account resides. Click the lock and authenticate as a
directory domain administrator whose password type is Open Directory. Then select
the user in the list.
2 Click Advanced, then click Options.
You can click Options only if the password type is Open Directory.
3 Change password policy options, then click OK.
“Disable login on date __”: If you select this option, enter a date in mm/dd/yyyy
format; for example, 02/22/2005.
“Require a change every __ days”: If you select this option, remember that some
service protocols don’t allow users to change passwords. For example, users can’t
change their passwords when authenticating for IMAP mail service.
The password ID is a unique 128-bit number assigned when the password is created in
the Open Directory Password Server database. It might be helpful in troubleshooting,
since it appears in the Password Server log when a problem occurs. View this Open
Directory log in Server Admin.
4 Click Save.
Chapter 6 Managing User Authentication75
Changing a User’s Password Type
You can set the password type on the Advanced pane of Workgroup Manager to one of
the following:
• Open Directory
• Shadow password
• Crypt password
Setting a user’s password type to Open Directory enables multiple legacy
authentication methods and also enables single signon and Kerberos if the user’s
account is in an LDAP directory. You can also enable a user account to use simple LDAP
bind authentication. For explanations of the authentication options, see Chapter 3,
“User Authentication With Open Directory.”
Changing the Password Type to Open Directory
Using Workgroup Manager, you can specify that Open Directory be used for
authenticating one or more user accounts stored in the local directory domain or the
LDAP directory domain of Mac OS X Server. In addition, you can specify that Open
Directory be used for authenticating user accounts in any LDAP or NetInfo directory
domain residing on a server with Mac OS X Server version 10.2.
The Open Directory password type supports single signon using Kerberos
authentication. It also supports the Simple Authentication and Security Layer (SASL)
authentication protocols, which include APOP, CRAM-MD5, DHX, Digest-MD5, MSCHAPv2, SMB-NT, SMB-LAN Manager, and WebDAV-Digest.
To set a user account’s password type to Open Directory, you must have administrator
rights for Open Directory authentication in the directory domain that contains the user
account. This means you must authenticate as a directory domain administrator whose
password type is Open Directory. For more information, see “Assigning Administrator
Rights for Open Directory Authentication” on page 80.
76Chapter 6 Managing User Authentication
To specify that a user account authenticate using Open Directory:
1 Make sure the user’s account resides in a directory domain that supports Open
Directory authentication.
Directory domains on Mac OS X Server version 10.3 support Open Directory
authentication, as do directory domains on Mac OS X Server version 10.2 that are
configured to use a Password Server.
2 In Workgroup Manager, open the account you want to work with if it is not already
open.
To open an account, click the Accounts button, then click the Users button. Click the
small globe icon above the list of users and choose from the pop-up menu to open the
directory domain where the user’s account resides. Click the lock and authenticate as a
directory domain administrator whose password type is Open Directory. Then select
the user in the list.
3 Click Advanced, then choose Open Directory from the User Password Type pop-up
menu.
4 If you changed the user’s password type, you will be prompted to enter and verify a
new password.
If you are working with a new user, enter the password on the Basic pane in the
Password field, then reenter it in the Verify field.
The password must contain no more than 512 bytes (up to 512 characters, although the
network authentication protocol can impose different limits; for example, 128
characters for SMB-NT and 14 for SMB-LAN Manager. The user management guide
provides guidelines for choosing passwords).
5 On the Advanced pane, click Options to set up the user’s password policy, and click OK
when you have finished specifying options
If you select the “Disable login as of” option, enter a date in MM/DD/YYYY format; for
example, 02/22/2004.
If you use a policy that requires user password changing, remember that not all
protocols support changing passwords. For example, users can’t change their
passwords when authenticating for IMAP mail service.
The password ID is a unique 128-bit number assigned when the password is created in
the Open Directory Password Server database. It might be helpful in troubleshooting,
since it appears in the Password Server log when a problem occurs. View this Open
Directory log in Server Admin.
6 Click Save.
Chapter 6 Managing User Authentication77
Changing the Password Type to Crypt Password
Using Workgroup Manager, you can specify that a crypt password be used for
authenticating one or more user accounts stored in an LDAP or NetInfo directory
domain. The LDAP directory domain can be on any server, but cannot be a read-only
directory. The NetInfo domain can be on any Mac OS X Server.
The crypt password is stored as an encrypted value, or hash, in the user account.
Because the crypt password can be recovered easily from the directory domain, it is
subject to offline attack and therefore is less secure than other password types.
To specify that a user account authenticate using a crypt password:
1 In Workgroup Manager, open the account you want to work with if it is not already
open.
To open an account, click the Accounts button, then click the Users button. Click the
small globe icon above the list of users and choose from the pop-up menu to open the
directory domain where the user’s account resides. Click the lock and authenticate as a
directory domain administrator. Then select the user in the list.
2 Click Advanced, then choose “Crypt password” from the User Password Type pop-up
menu.
3 If you changed the user’s password type, you will be prompted to enter and verify a
new password.
If you are working with a new user, enter the password on the Basic pane in the
Password field, then reenter it in the Verify field.
A crypt password can be at most eight bytes (eight ASCII characters) long. If you enter
a longer password, only the first eight bytes are used.
4 Click Save.
78Chapter 6 Managing User Authentication
Changing the Password Type to Shadow Password
Using Workgroup Manager, you can specify that a user have a shadow password stored
in a secure file apart from the directory domain. Only users whose accounts reside in
the local directory domain can have a shadow password.
To specify that a user account authenticate using a shadow password:
1 In Workgroup Manager, open the account you want to work with if it is not already
open.
To open an account, click the Accounts button, then click the Users button. Click the
small globe icon above the list of users and choose from the pop-up menu to open the
local directory domain where the user’s account resides. Click the lock and authenticate
as a directory domain administrator. Then select the user in the list.
2 Click Advanced, then choose Shadow Password from the User Password Type pop-up
menu.
3 If you changed the user’s password type, you will be prompted to enter and verify a
new password.
If you are working with a new user, enter the password on the Basic pane in the
Password field, then reenter it in the Verify field.
4 Click Save.
Enabling Single Signon Authentication for a User
You enable single signon authentication for a user account in an LDAP directory
Mac OS X Server version 10.3 by using the Advanced pane of Workgroup Manager to
set the account’s password type to Open Directory. Single signon is a feature of
Kerberos authentication. For instructions, see “Changing the Password Type to Open
Directory” on page 76.
Enabling Kerberos Authentication for a User
You enable Kerberos authentication for a user account in an LDAP directory of
Mac OS X Server version 10.3 by setting the account’s password type to Open Directory
on the Advanced pane of Workgroup Manager. For instructions, see “Changing the
Password Type to Open Directory” on page 76.
Chapter 6 Managing User Authentication79
Enabling LDAP Bind Authentication for a User
You can use Workgroup Manager to enable the use of LDAP bind authentication for a
user account stored in an LDAP directory domain. When you use this password
validation technique, you rely on the LDAP server that contains the user account to
authenticate the user’s password.
To enable LDAP bind user authentication using Workgroup Manager:
1 Make sure the account for a user whose password you want to validate using LDAP
bind resides on an LDAP server in the search path of the Mac OS X computer that
needs to validate the password.
See “Accessing LDAP Directories” on page 90 for information about configuring LDAP
server connections. Avoid mapping the password attribute when configuring the
connection; bind authentication will occur automatically. Also, set up the connection so
it uses SSL in order to protect the password, passed in clear text, while it is in transit.
2 In Workgroup Manager, open the account you want to work with if it is not already
open.
To open an account, click the Accounts button, then click the Users button. Click the
small globe icon above the list of users and choose from the pop-up menu to open the
LDAP directory domain where the user’s account resides. Click the lock and
authenticate as a directory domain administrator. Then select the user in the user list.
3 On the Advanced pane, choose “Crypt password” from the User Password Type pop-up
menu.
4 On the Basic pane, make sure the Password field is empty.
5 Click Save.
Assigning Administrator Rights for Open Directory
Authentication
You can work with Open Directory authentication settings in Workgroup Manager only
if you authenticate as an administrator of the directory domain that contains the user
accounts you want to work with. In addition, the administrator must use Open
Directory authentication. These restrictions protect the security of passwords stored in
the Kerberos KDC and the Open Directory Password Server database. See “Changing
the Password Type to Open Directory” on page 76. For instructions on assigning
administrator rights for a directory domain, see the user accounts chapter in the user
management guide.
Do not use the Options button on the Advanced pane to set up password policies for
directory domain administrators. Password policies are not enforced for administrator
accounts. Directory domain administrators need to be able to change password
policies of individual user accounts.
80Chapter 6 Managing User Authentication
Exporting and Importing Users Whose Password Type Is
Open Directory
When you export user accounts whose password type is set to Open Directory,
passwords are not exported. This protects the security of the Open Directory Password
Server database. Before importing, you can use a spreadsheet application to open the
file of exported users and preset their passwords, which they can change the next time
they log in.
After importing, you have a couple of options for setting the passwords of the
imported user accounts:
• You can set all the imported user accounts to use a temporary password, which each
user can change the next time he or she logs in. For instructions, see “Resetting the
Passwords of Multiple Users” on page 73.
• You can set the password of each imported user account individually on the Basic
pane of Workgroup Manager. For instructions, see “Changing a User’s Password Type”
on page 76.
Exporting and Importing Authentication Manager Users
When you export user accounts that have crypt passwords from a NetInfo domain for
which Authentication Manager is enabled, passwords are not exported. After importing
to a directory domain of Mac OS X Server version 10.3, you have a couple of options for
setting the passwords of the imported user accounts:
• You can set all the imported user accounts to use a temporary password, which each
user can change the next time he or she logs in. For instructions, see “Resetting the
Passwords of Multiple Users” on page 73.
• You can set the password of each imported user account individually on the Basic
pane of Workgroup Manager. For instructions, see “Changing a User’s Password Type”
on page 76.
Authentication Manager is a legacy technology for securely validating passwords.
Authentication Manager only works with user accounts that were created in a NetInfo
domain of Mac OS X Server version 10.0–10.2. Authentication Manager must have been
enabled for the NetInfo domain. For more information, see Appendix C, “Authentication
Manager.”
Chapter 6 Managing User Authentication81
Migrating Passwords to Open Directory Authentication
User accounts can be migrated from earlier versions of Mac OS X Server by importing
the account records or upgrading the server where they reside. User accounts created
with Mac OS X Server version 10.1 or earlier have no authentication authority attribute
but do have crypt passwords. For compatibility with such user accounts, Mac OS X
Server version 10.2 and later assumes a user account without an authentication
authority attribute has a crypt password.
If you import user accounts from Mac OS X Server version 10.1 or earlier, the user
accounts have no authentication authority attribute. Therefore these user accounts are
initially configured to have crypt passwords. An appendix in the user management
guide describes how to import user accounts.
Likewise, if you upgrade from Mac OS X Server version 10.1 or earlier, user accounts that
were created before upgrading have no authentication authority attribute. After
upgrading, these user accounts are assumed to have crypt passwords.
While all the existing crypt passwords can continue to be used after importing or
upgrading, you can change the user accounts to use Open Directory authentication.
You can change individual user accounts or multiple user accounts by using Workgroup
Manager. Changing a user account’s password type will reset the password. For
instructions, see “Changing the Password Type to Open Directory” on page 76.
Some user accounts created with Mac OS X Server version 10.1 or earlier may use
Authentication Manager. It is a legacy technology for authenticating users of Windows
file service and users of Apple file service whose Mac OS 8 computers have not been
upgraded with AFP client software version 3.8.3 or later.
When migrating Authentication Manager users, you have the following options:
• If you upgrade server version first from Mac OS X Server version 10.1 to version 10.2
and then to version 10.3, existing users can continue to use their same passwords.
• You can change some or all upgraded user accounts to use Open Directory
authentication, which is the preferred option for authenticating Windows users. Users
of both types can coexist in the same directory domain.
• If you import user accounts that use Authentication Manager, they will be converted
to Open Directory authentication during importing.
82Chapter 6 Managing User Authentication
7Managing Directory Access
You can use Directory Access to set up and manage how
a computer with Mac OS X or a server with Mac OS X
Server accesses directory services and discovers network
services.
For setup and management task descriptions and instructions, see:
• “Setting Up Services in Directory Access” on page 83
• “Setting Up the Authentication and Contacts Search Policies” on page 87
• “Accessing LDAP Directories” on page 90
• “Accessing an Active Directory Domain” on page 100
• “Accessing an NIS Domain” on page 107
• “Using BSD Configuration Files” on page 108
• “Accessing Legacy NetInfo Domains” on page 109
• “Setting Up Directory Access on a Remote Server” on page 113
7
Setting Up Services in Directory Access
Directory Access lists the different kinds of services that Mac OS X can access. The list
includes directory services, which give Mac OS X access to user information and other
administrative data stored in directory domains. The list also includes kinds of network
services that Mac OS X can discover on the network.
You can enable or disable access to each kind of service. If you disable a kind of service
in Directory Access, Mac OS X no longer accesses services of the disabled kind.
However, disabling a kind of service in Directory Access does not affect the ability of
Mac OS X to use or provide services of that kind. For example, if you disable
Rendezvous, Mac OS X does not use it to discover file services, but you can still share
your files and connect to a file server if you know its address.
83
Enabling or Disabling Active Directory Service
You can use Directory Access to enable or disable the use of Active Directory on a
Windows server. Active Directory is the directory service of Windows 2000 and 2003
servers.
To enable or disable access to Active Directory:
1 In Directory Access, click Services.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Click the checkbox next to Active Directory and click Apply.
For configuration instructions, see “Accessing LDAP Directories” on page 90.
Enabling or Disabling AppleTalk Service Discovery
You can use Directory Access to enable or disable the discovery of AppleTalk network
services. AppleTalk is a legacy Mac OS protocol for network file and print services. Some
computers use AppleTalk to share files, and some servers use AppleTalk for file service.
In addition, some shared printers use AppleTalk.
To enable or disable AppleTalk service discovery:
1 In Directory Access, click Services.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Click the checkbox next to AppleTalk and click Apply.
AppleTalk does not require configuration.
Enabling or Disabling BSD Flat File and NIS Directory Services
You can use Directory Access to enable or disable the use of BSD configuration files
and access to Network Information Service (NIS) directory services. BSD configuration
files are the original method for accessing administrative data on UNIX computers, and
some organizations still use them. Some UNIX servers use NIS to provide directory
services.
To enable or disable BSD flat file and NIS directory services:
1 In Directory Access, click Services.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Click the checkbox next to “BSD Flat File and NIS” and click Apply.
For configuration instructions, see “Accessing an NIS Domain” on page 107 and “Using
BSD Configuration Files” on page 108.
84Chapter 7 Managing Directory Access
Enabling or Disabling LDAP Directory Services
You can use Directory Access to enable or disable access to directory services that use
Lightweight Directory Access Protocol (LDAP) versions 2 and 3. A single Directory
Access plug-in named LDAPv3 provides access to both LDAP versions 2 and 3. (The
LDAPv2 plug-in of Mac OS X version 10.2 is not needed with Mac OS X version 10.3.)
Mac OS X Server version 10.3 and later provides only LDAPv3 directory service to other
computers, including Mac OS X computers. Mac OS X Server version 10.2 can provide
LDAPv3 directory service to other computers (and it can provide NetInfo directory
service). Many other servers also provide LDAPv3 directory service; LDAPv3 is an open
standard common in mixed networks of Macintosh, UNIX, and Windows systems. Some
servers also use the older version, LDAPv2, to provide directory service.
To enable or disable LDAP directory services:
1 In Directory Access, click Services.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Click the checkbox next to LDAPv3 and click Apply.
For configuration instructions, see “Accessing LDAP Directories” on page 90.
Enabling or Disabling NetInfo Directory Services
You can use Directory Access to enable or disable access to shared NetInfo directory
domains. NetInfo is a legacy directory service that is still used for the local directory
domain on every Mac OS X computer, including Mac OS X Server. NetInfo can also be
used for a shared directory domain of Mac OS X Server version 10.2 and earlier.
Disabling NetInfo in Directory Access does not disable access to the computer’s local
NetInfo domain. Only access to shared NetInfo domains can be disabled.
To enable or disable NetInfo directory services:
1 In Directory Access, click Services.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Click the checkbox next to NetInfo and click Apply.
For configuration instructions, see “Accessing Legacy NetInfo Domains” on page 109.
Chapter 7 Managing Directory Access85
Enabling or Disabling Rendezvous Service Discovery
You can use Directory Access to enable or disable the discovery of some Rendezvous
network services. For example, disabling Rendezvous in Directory Access prevents
Rendezvous-enabled file servers from appearing in the Network globe in the Finder.
But disabling Rendezvous in Directory Access does not prevent Rendezvous-enabled
printers from appearing in the Printer Setup Utility or prevent iTunes from using
Rendezvous for music sharing. Rendezvous is an Apple protocol for discovering file,
print, and other services on Internet Protocol (IP) networks.
To enable or disable Rendezvous service discovery:
1 In Directory Access, click Services.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Click the checkbox next to Rendezvous and click Apply.
Rendezvous does not require configuration.
Enabling or Disabling SLP Service Discovery
You can use Directory Access to enable or disable the discovery of services that use
Service Location Protocol (SLP) to make themselves known on the network. SLP is an
open standard for discovering file and print services on Internet Protocol (IP) networks.
To enable or disable SLP service discovery:
1 In Directory Access, click Services.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Click the checkbox next to SLP and click Apply.
SLP does not require configuration.
Enabling or Disabling SMB Service Discovery
You can use Directory Access to enable or disable the discovery of services that use
Server Message Block (SMB) to make themselves known on the network. SMB is a
protocol used by Microsoft Windows for file and print services.
To enable or disable SMB service discovery:
1 In Directory Access, click Services.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Click the checkbox next to SMB and click Apply.
For configuration instructions, see “Configuring SMB Service Discovery” on page 87.
86Chapter 7 Managing Directory Access
Configuring SMB Service Discovery
You can configure how Mac OS X uses the Server Message Block (SMB) protocol to
discover Windows file servers on the network. You can use the Directory Access
application to specify the following:
• The Windows workgroup that the computer is a member of
• A Windows Internet Naming Service (WINS) server on the network
To configure discovery of Windows SMB file servers:
1 In Directory Access, click Services.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Select SMB in the list of services, then click Configure.
4 In the Workgroup field, type a workgroup name or select one from the drop-down list.
The drop-down list includes the names of Windows workgroups that other computers
on the network are members of.
5 Enter the DNS name or IP address of a WINS server that provides NetBIOS name
resolution for the network, then click OK.
A WINS Server resolves Windows computer names to IP addresses on a network with
routers and multiple subnets.
If the network does not have a WINS server, leave the WINS Server field blank.
Setting Up the Authentication and Contacts Search
Policies
Directory Access defines an authentication search policy and a contacts search policy.
• Mac OS X uses the authentication search policy to locate and retrieve user
authentication information and other administrative data from directory domains.
• Mac OS X uses the contacts search policy to locate and retrieve name, address, and
other contact information from directory domains. Mac OS X Address Book uses this
contact information, and other applications can be programmed to use it as well.
Each search policy consists of a list of directory domains (also known as directory
nodes). The order of directory domains in the list defines the search policy. Starting at
the top of the list, Mac OS X searches each listed directory domain in turn until it either
finds the information it needs or reaches the end of the list without finding the
information.
Chapter 7 Managing Directory Access87
Each search policy, authentication and contacts, can be set to Automatic, Local
directory, or Custom path.
• Automatic starts with the local directory domain and can include an LDAP directory
supplied automatically by DHCP and NetInfo domains to which the computer is
bound. An automatic search policy is the default setting for Mac OS X version 10.2
and later and offers the most flexibility for mobile computers.
• Local directory includes only the local directory domain.
• Custom path starts with the local directory domain and includes your choice of
LDAP directories, an Active Directory domain, NetInfo domains, BSD configuration
files, and an NIS domain.
Defining Automatic Search Policies
Using Directory Access, you can configure a Mac OS X computer’s authentication and
contacts search policies to be defined automatically. An automatically defined search
policy includes the local directory domain. It can also include an LDAP directory server
specified by DHCP service and shared NetInfo domains to which the computer is
bound. This is the default configuration for both the authentication and the contacts
search policy.
Note: Some applications, such as Mac OS X Mail and Address Book, can access LDAP
directories directly, without using Open Directory. To set up one of these applications
to access LDAP directories directly, open the application and set the appropriate
preference.
To have a search policy defined automatically:
1 In Directory Access, click Authentication or click Contacts.
Authentication shows the search policy used for authentication and most other
administrative data.
Contacts shows the search policy used for contact information in applications such as
Address Book.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Choose Automatic from the Search pop-up menu, then click Apply.
4 In System Preferences, make sure the computer’s Network preferences are configured
to use DHCP or DHCP with manual IP address.
5 If you want the DHCP service of Mac OS X Server to supply its clients with a particular
LDAP server’s address for their automatic search policies, you need to configure the
LDAP options of DHCP service.
For instructions, see the DHCP chapter of the network services administration guide.
88Chapter 7 Managing Directory Access
Defining Custom Search Policies
Using Directory Access, you can configure a Mac OS X computer’s authentication and
contacts search policies to use a custom list of directory domains. A custom list starts
with the computer’s local directory domain and you can also include Open Directory
and other LDAP directory domains, an Active Directory domain, shared NetInfo
domains, BSD configuration files, and an NIS domain.
Note: Make sure the computer has been configured to access the LDAP directories,
Active Directory domain, NetInfo domains, and NIS domain that you want to add to the
search policy. For instructions, see the subsequent sections of this chapter.
To specify a custom list of directory domains for a search policy:
1 In Directory Access, click the Authentication or click Contacts.
Authentication shows the search policy used for authentication and most other
administrative data.
Contacts shows the search policy used for contact information in applications such as
Address Book.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Choose “Custom path” from the Search pop-up menu.
4 Add directory domains as needed.
Add directory domains by clicking Add, selecting one or more directories, and clicking
Add again.
5 Change the order of the listed directory domains as needed, and remove listed
directory domains that you don’t want in the search policy.
Move a directory domain by dragging it up or down the list.
Remove a listed directory domain by selecting it and clicking Remove.
6 Click Apply.
Defining Local Directory Search Policies
Using Directory Access, you can configure a Mac OS X computer’s authentication and
contacts search policies to use only the computer’s local directory domain. A search
policy that uses only the local directory limits the access that a computer has to
authentication information and other administrative data. If you restrict a computer’s
authentication search policy to use only the local directory, only users with local
accounts can log in.
Chapter 7 Managing Directory Access89
To have a search policy use only the local directory domain:
1 In Directory Access, click the Authentication or click Contacts.
Authentication shows the search policy used for authentication and most other
administrative data.
Contacts shows the search policy used for contact information in applications such as
Address Book.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Choose “Local directory” from the Search pop-up menu, then click Apply.
Accessing LDAP Directories
You can configure a server with Mac OS X Server or a computer with Mac OS X to
access specific LDAP directories, including the LDAP directory of a Mac OS X Server
Open Directory master. For task descriptions and instructions, see:
• “Enabling or Disabling Use of a DHCP-Supplied LDAP Directory” (next)
• “Showing or Hiding Options for LDAP Directories” on page 91
• “Configuring Access to an LDAP Directory” on page 92
• “Changing a Configuration for Accessing an LDAP Directory” on page 93.
• “Duplicating a Configuration for Accessing an LDAP Directory” on page 93.
• “Deleting a Configuration for Accessing an LDAP Directory” on page 94.
• “Changing the Connection Settings for an LDAP Directory” on page 95.
• “Configuring LDAP Searches and Mappings” on page 96
• “Mapping Config Record Attributes for LDAP Directories” on page 98
• “Editing RFC 2307 Mapping to Enable Creating Users” on page 98.
• “Populating LDAP Directories With Data for Mac OS X” on page 100.
In Mac OS X version 10.3, a single Directory Access plug-in named LDAPv3 provides
access to both LDAP versions 2 and 3. The LDAPv2 plug-in of Mac OS X version 10.2 is
not needed with Mac OS X version 10.3. Existing LDAPv2 configurations are
automatically converted to LDAPv3 when a computer is upgraded to Mac OS X version
10.3.
Note: Mac OS X Mail, Address Book and some similar applications can access LDAP
directories directly, without using Open Directory. You can configure these applications
to search specific LDAP directories. For instructions, open Mail and choose Help > Mail
Help or open Address Book and choose Help > Address Book Help; then search for help
on LDAP.
90Chapter 7 Managing Directory Access
Enabling or Disabling Use of a DHCP-Supplied LDAP Directory
Using Directory Access, you can configure a Mac OS X computer to get the address of
an LDAP directory server automatically when it starts up. Mac OS X requests the
address of an LDAP directory server from the DHCP service that also supplies the
computer’s IP address, router address, and DNS server addresses. Mac OS X adds the
LDAP server’s address supplied by DHCP to the computer’s automatic search policy. See
“Defining Automatic Search Policies” on page 88 for more information.
To enable or disable automatic access to an LDAP server:
1 In Directory Access, click Services.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Select LDAPv3 in the list of services, then click Configure.
4 Click “Used DHCP-supplied LDAP Server.”
If you disable this setting, this computer doesn’t use an LDAP directory server supplied
by DHCP. However, the computer can automatically access shared NetInfo domains. See
“Accessing Legacy NetInfo Domains” on page 109 for more information.
If you enable this setting, the DHCP service should be configured to supply the address
of an LDAP directory server. For instructions, see the DHCP chapter of the network
services administration guide.
Showing or Hiding Options for LDAP Directories
You can show or hide a list of available configurations for accessing LDAP directories.
Each configuration specifies how Open Directory accesses a particular LDAP directory.
When you show the list, you see and can change some settings for each LDAP
configuration.
To show or hide the available LDAP directory configurations:
1 In Directory Access, click Services.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Select LDAPv3 in the list of services, then click Configure.
4 Click the Show Options control or the Hide Options control, whichever is present.
Chapter 7 Managing Directory Access91
Configuring Access to an LDAP Directory
You can use Directory Access to create a configuration that specifies how Mac OS X
accesses a particular LDAPv3 or LDAPv2 directory.
To create a configuration for accessing an LDAP directory:
1 In Directory Access, click Services.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Select LDAPv3 in the list of services, then click Configure.
4 If the list of LDAP directory configurations is hidden, click Show Options.
5 Click New and enter a name for the configuration.
6 Press Tab and enter the DNS name or IP address of the server that hosts the LDAP
directory you want to access.
7 Click the pop-up menu next to the DNS name or IP address and choose a mapping
template or choose From Server.
8 Enter the search base suffix for the LDAP directory and click OK.
If you chose a template in step 7, you must enter a search base suffix, or the computer
will not be able to find information in the LDAP directory. Typically, the search base
suffix is derived from the server’s DNS name. For example, the search base suffix could
be “dc=example, dc=com” for a server whose DNS name is server.example.com.
If you chose From Server in step 7, you don’t need to enter a search base. In this case,
Open Directory assumes the search base is the first level of the LDAP directory.
9 Select the SSL checkbox if you want Open Directory to use Secure Sockets Layer (SSL)
for connections with the LDAP directory.
If you want the computer to access the LDAP directory for which you just created a
configuration, you must add the directory to a custom search policy in the
Authentication or Contacts pane of Directory Access. You must also make sure LDAPv3
is enabled in the Services pane. For instructions, see “Enabling or Disabling LDAP
Directory Services” on page 85 and “Defining Custom Search Policies” on page 89.
Note: Before you can use Workgroup Manager to create users on a non-Apple LDAP
server that uses RFC 2307 (UNIX) mappings, you must edit the mapping of the Users
record type. For instructions, see “Editing RFC 2307 Mapping to Enable Creating Users”
on page 98.
92Chapter 7 Managing Directory Access
Changing a Configuration for Accessing an LDAP Directory
You can use Directory Access to change the settings of an LDAP directory
configuration. The configuration settings specify how Open Directory accesses a
particular LDAPv3 or LDAPv2 directory.
To edit a configuration for accessing an LDAP directory:
1 In Directory Access, click Services.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Select LDAPv3 in the list of services, then click Configure.
4 If the list of server configurations is hidden, click Show Options.
5 Change any of the settings displayed in the list of server configurations.
Enable: Click a checkbox to enable or disable access to an LDAP directory server.
Configuration Name: Double-click a configuration name to edit it.
Server Name or IP Address: Double-click a server name or IP address to change it.
LDAP Mapping: Choose a template from the pop-up menu, then enter the search base
for the LDAP directory and click OK.
If you chose a template, you must enter a search base suffix, or the computer will not
be able to find information in the LDAP directory. Typically, the search base suffix is
derived from the server’s DNS name. For example, the search base suffix could be
“dc=example, dc=com” for a server whose DNS name is server.example.com.
If you chose From Server instead of a template, you don’t need to enter a search base.
In this case, Open Directory assumes the search base is the first level of the LDAP
directory.
SSL: Click a checkbox to enable or disable Secure Sockets Layer (SSL) connections.
Duplicating a Configuration for Accessing an LDAP Directory
You can use Directory Access to duplicate a configuration that specifies how Mac OS X
accesses a particular LDAPv3 or LDAPv2 directory. After duplicating an LDAP directory
configuration, you can change its settings to make it different from the original
configuration.
To duplicate a configuration for accessing an LDAP directory:
1 In Directory Access, click Services.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Select LDAPv3 in the list of services, then click Configure.
4 If the list of server configurations is hidden, click Show Options.
5 Select a server configuration in the list, then click Duplicate.
Chapter 7 Managing Directory Access93
6 Change any of the duplicate configuration’s settings.
Enable: Click a checkbox to enable or disable access to an LDAP directory server.
Configuration Name: Double-click a configuration name to edit it.
Server Name or IP Address: Double-click a server name or IP address to change it.
LDAP Mapping: Choose a template from the pop-up menu, then enter the search base
for the LDAP directory and click OK.
If you chose a template, you must enter a search base suffix, or the computer will not
be able to find information in the LDAP directory. Typically, the search base suffix is
derived from the server’s DNS name. For example, the search base suffix could be
“dc=example, dc=com” for a server whose DNS name is server.example.com.
If you chose From Server instead of a template, you don’t need to enter a search base.
In this case, Open Directory assumes the search base is the first level of the LDAP
directory.
SSL: Click a checkbox to enable or disable Secure Sockets Layer (SSL) connections.
If you want the computer to access the LDAP directory specified by the duplicate
configuration you just created, you must add the directory to a custom search policy in
the Authentication or Contacts pane of Directory Access. You must also make sure
LDAPv3 is enabled in the Services pane. For instructions, see “Enabling or Disabling
LDAP Directory Services” on page 85 and “Defining Custom Search Policies” on
page 89.
Deleting a Configuration for Accessing an LDAP Directory
You can use Directory Access to delete a configuration that specifies how the computer
accesses a particular LDAPv3 or LDAPv2 directory.
To delete a configuration for accessing an LDAP directory:
1 In Directory Access, click Services.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Select LDAPv3 in the list of services, then click Configure.
4 If the list of server configurations is hidden, click Show Options.
5 Select a server configuration in the list, then click Delete.
94Chapter 7 Managing Directory Access
Changing the Connection Settings for an LDAP Directory
You can use Directory Access to change the connection settings of a configuration that
specifies how the computer accesses a particular LDAPv3 or LDAPv2 directory.
To change the connection settings for accessing an LDAP directory:
1 In Directory Access, click Services.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Select LDAPv3 in the list of services, then click Configure.
4 If the list of server configurations is hidden, click Show Options.
5 Select a server configuration in the list, then click Edit.
6 Click Connection and change any of the settings.
Configuration Name identifies this configuration in the list of LDAP directory
configurations. (You can also change the name directly in the list of LDAP directory
configurations.)
Server Name or IP Address specifies the server’s DNS name or its IP address. (You can
also change this directly in the list of LDAP directory configurations.)
“Open/close times out in” specifies the number of seconds that Open Directory waits
before cancelling an attempt to connect to the LDAP server.
“Connection times out in” specifies the number of seconds that Open Directory allows
an idle or unresponsive connection to remain open.
“Use authentication when connecting” determines whether Open Directory
authenticates itself as a user of the LDAP directory by supplying the Distinguished
Name and Password when connecting to the directory.
“Encrypt using SSL” determines whether Open Directory encrypts communications
with the LDAP directory by using Secure Sockets Layer (SSL) connection. (You can also
change this setting directly in the list of LDAP directory configurations.)
“Use custom port” specifies a port number other than the standard port for LDAP
connections (389 without SSL or 636 with SSL).
Chapter 7 Managing Directory Access95
Configuring LDAP Searches and Mappings
Using Directory Access, you can edit the mappings, search bases, and search scopes
that specify how Mac OS X finds specific data items in an LDAP directory. You can edit
these settings separately for each LDAP directory configuration listed in Directory
Access. Each LDAP directory configuration specifies how Mac OS X accesses data in an
LDAPv3 or LDAPv2 directory.
• You can edit the mapping of each Mac OS X record type to one or more LDAP object
classes.
• For each record type, you can also edit the mapping of Mac OS X data types, or
attributes, to LDAP attributes.
• You can edit the LDAP search base and search scope that determine where Mac OS X
looks for a particular Mac OS X record type in an LDAP directory.
Important: When mapping Mac OS X user attributes to a read/write LDAP directory
domain (an LDAP domain that is not read-only), the LDAP attribute mapped to
RealName must not be the same as the first attribute in a list of LDAP attributes
mapped to RecordName. For example, the cn attribute must not be the first attribute
mapped to RecordName if cn is also mapped to RealName. If the LDAP attribute
mapped to RealName is the same as the first attribute mapped to RecordName,
problems will occur when you try to edit the full (long) name or the first short name in
Workgroup Manager.
For detailed specifications of Mac OS X record types and attributes, see Appendix A,
“Mac OS X Directory Data.”
To edit the search bases and mappings for an LDAP server:
1 In Directory Access, click Services.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Select LDAPv3 in the list of services, then click Configure.
4 If the list of server configurations is hidden, click Show Options.
5 Select a server configuration in the list, then click Edit.
6 Click Search & Mappings.
7 Select the mappings that you want to use as a starting point, if any.
Click the “Access this LDAPv3 server using” pop-up menu and choose a mapping
template to use its mappings as a starting point, or choose Custom to begin with no
predefined mappings.
Or click “Read from Server” to edit the mappings currently stored in the LDAP directory
server whose configuration you are editing.
96Chapter 7 Managing Directory Access
8 Add record types and change their search bases as needed.
To add record types, click the Add button below the Record Types and Attributes list. In
the sheet that appears, select Record Types, select one or more record types from the
list, and then click OK.
To change the search base of a record type, select it in the Record Types and Attributes
List. Then click the “Search base” field and edit the search base.
To remove a record type, select it in the Record Types and Attributes List and click
Delete.
To add a mapping for a record type, select the record type in the Record Types and
Attributes List. Then click the Add button below “Map to __ items in list” and enter the
name of an object class from the LDAP directory. To add another LDAP object class, you
can press Return and enter the name of the object class. Specify whether to use all or
any of the listed LDAP object classes by using the pop-up menu above the list.
To change a mapping for a record type, select the record type in the Record Types and
Attributes List. Then double-click the LDAP object class that you want to change in the
“Map to __ items in list” and edit it. Specify whether to use all or any of the listed LDAP
object classes by using the pop-up menu above the list.
To remove a mapping for a record type, select the record type in the Record Types and
Attributes List. Then click the LDAP object class that you want to remove from the “Map
to __ items in list” and click the Delete button below “Map to __ items in list.”
9 Add attributes and change their mappings as needed.
To add attributes to a record type, select the record type in the Record Types and
Attributes List. Then click the Add button below the Record Types and Attributes list. In
the sheet that appears, select Attribute Types, select one or more attribute types, and
then click OK.
To add a mapping for an attribute, select the attribute in the Record Types and
Attributes List. Then click the Add button below “Map to __ items in list” and enter the
name of an attribute from the LDAP directory. To add another LDAP attribute, you can
press Return and enter the name of the attribute.
To change a mapping for an attribute, select the attribute in the Record Types and
Attributes List. Then double-click the item that you want to change in the “Map to __
items in list” and edit the item name.
To remove a mapping for an attribute, select the attribute in the Record Types and
Attributes List. Then click the item that you want to remove from the “Map to __ items
in list” and click the Delete button below “Map to __ items in list.”
To change the order of attributes displayed in the list on the right, drag the attributes
up or down in the list.
Chapter 7 Managing Directory Access97
10 Click Write to Server if you want to store the mappings in the LDAP directory so that it
can supply them automatically to its clients.
You must enter a search base to store the mappings, a distinguished name of an
administrator (for example, cn=admin,dc=example,dc=com), and a password. If you are
writing mappings to an Open Directory LDAP server, the correct search base is
“cn=config, <suffix>” (where <suffix> is the server’s search base suffix, such as
“dc=example,dc=com”).
The LDAP directory supplies its mappings to clients that are configured to use an
automatic search policy. For instructions on configuring the client search policy, see
“Setting Up the Authentication and Contacts Search Policies” on page 87.
The LDAP directory also supplies its mappings to clients that have been configured
manually to get mappings from the server. For instructions on configuring client access
to the server, see “Configuring Access to an LDAP Directory” on page 92 through
“Changing the Connection Settings for an LDAP Directory” on page 95.
Mapping Config Record Attributes for LDAP Directories
If you want to store information for managed Mac OS X users in an LDAP directory,
make sure you map the following attributes of the Config record type: RealName and
DataStamp. If you do not map these attributes, the following error message will be
displayed when you use Workgroup Manager to change a user record that resides in
the LDAP directory:
The attribute with name “dsRecTypeStandard:Config” is not mapped.
You can ignore this message if you are not using Mac OS X client management, which
depends on the Config record type’s RealName and DataStamp attributes for a cache.
Editing RFC 2307 Mapping to Enable Creating Users
Before you can use Workgroup Manager to create users on a non-Apple LDAP directory
server that uses RFC 2307 (UNIX) mappings, you must edit the mapping of the Users
record type. You do this with the Directory Access application.
To enable creating user records in an LDAP directory with RFC 2307 mappings:
1 In Directory Access, click Services.
2 If the lock icon is locked, click it and type the name and password of an administrator.
3 Select LDAPv3 in the list of services, then click Configure.
4 If the list of server configurations is hidden, click Show Options.
5 Select the directory configuration with RFC 2307 mappings, then click Edit.
6 Click Search & Mappings.
7 Select Users in the list on the left.
By default, “Map to __ items in list” is set to Any and the list on the right includes
posixAccount, inetOrgPerson, and shadowAccount.
98Chapter 7 Managing Directory Access
8 Change “Map to __ items in list” to All and change the list on the right to the exact set
of LDAP object classes to which you want the Users record type mapped.
For example, you could delete shadowAccount from the list so that Users maps to only
posixAccount and inetOrgPerson. Or you could map Users to account, posixAccount,
and shadowAccount.
To change an item on the list, double-click it.
To add an item to the list, click Add.
To delete the selected item from the list, click Delete.
To change the order of listed items, drag items up or down in the list.
You can find out the object classes of existing user records in the LDAP directory by
using the UNIX tool ldapsearch in a Terminal window. The following example would
display the object classes for a user record whose cn attribute is “Leonardo da Vinci:”
The output displayed for this example command could be something similar to the
following:
# Leonardo da Vinci, example.com
dn: cn=Leonardo da Vinci, dc=example, dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
Preparing a Read-Only LDAP Directory for Mac OS X
If you want a Mac OS X computer to get administrative data from a read-only LDAP
directory, the data must exist in the read-only LDAP directory in the format required by
Mac OS X. You may need to add, modify, or reorganize data in the read-only LDAP
directory. Mac OS X cannot write data to a read-only LDAP directory, so you must make
the necessary modifications by using tools on the server that hosts the read-only LDAP
directory.
To prepare a read-only LDAP directory for Mac OS X:
1 Go to the server that hosts the read-only LDAP directory and configure it to support
LDAP-based authentication and password checking.
2 Modify the LDAP directory’s object classes and attributes as necessary to provide the
data needed by Mac OS X.
For detailed specifications of the data required by Mac OS X directory services, see
Appendix A, “Mac OS X Directory Data.”
Chapter 7 Managing Directory Access99
Populating LDAP Directories With Data for Mac OS X
After configuring access to LDAP directory domains and setting up their data mapping,
you can populate them with records and data for Mac OS X. For directory domains that
allow remote administration (read/write access), you can use the Workgroup Manager
application, which is included with Mac OS X Server, as follows:
• Identify share points and shared domains that you want to mount automatically in a
user’s /Network directory (the Network globe in Finder windows). Use the Sharing
module of Workgroup Manager. For instructions, see the file services administration
guide.
• Define user records and group records and configure their settings. Use the Accounts
module of Workgroup Manager. For instructions, see the user management guide.
• Define lists of computers that have the same preference settings and are available to
the same users and groups. Use the Computers module of Workgroup Manager. For
instructions, see the user management guide.
In all cases, click the small globe icon above the list of users and choose from the popup menu in Workgroup Manager to open the LDAP directory domain. If the LDAP
directory is not listed in the pop-up menu, choose Other from this menu to select the
LDAP directory.
Note: To add records and data to a read-only LDAP directory, you must use tools on the
server that hosts the LDAP directory.
Accessing an Active Directory Domain
You can configure a server with Mac OS X Server or a computer with Mac OS X to
access an Active Directory domain on a Windows 2000 or Windows 2003 server. For
task descriptions and instructions, see:
• “Learning About the Active Directory Plug-in” (next)
• “Configuring Access to an Active Directory Domain” on page 102
• “Enabling or Disabling Active Directory Credential Caching” on page 104
• “Mapping the UID to an Active Directory Attribute” on page 105
• “Changing the Active Directory Groups That Can Administer the Computer” on
page 105
• “Editing User Accounts and Other Records in Active Directory” on page 106
Alternative methods for accessing an Active Directory domain are appropriate for some
networks. The alternatives include the following:
• “Setting Up LDAP Access to Active Directory Domains” on page 106
100Chapter 7 Managing Directory Access
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.