System administrators often spend a great deal of time managing configuration information located on many different machines: usernames, passwords, printer configurations, email client configurations, and network filesystem configurations, to name a few. LDAPv3 provides tools for centralizing all of the configuration information and placing it under your control. Rather than maintaining several administrative databases (NIS, Active Directory, Samba, and NFS configuration files), you can make changes in only one place and have all your systems immediately "see" the updated information. Practically platform independent, this book uses the widely available, open source OpenLDAP 2 directory server as a premise for examples, showing you how to use it to help you manage your configuration information effectively and securely. OpenLDAP 2 ships with most Linux distributions and Mac OS X, and can be easily downloaded for most Unix-based systems.
After introducing the workings of a directory service and the LDAP protocol, all aspects of building and installing OpenLDAP, plus key ancillary packages like SASL and OpenSSL, this book discusses: configuration and access control; distributed directories - replication and referral; using OpenLDAP to replace NIS; using OpenLDAP to manage email configurations; using LDAP for abstraction with FTP and HTTP servers, Samba, and Radius; interoperating with different LDAP servers, including Active Directory; and programming using Net::LDAP.
Gerald (Jerry) Carter received his Masters degree in Computer Science from Auburn University, where he continues to pursue his PhD. He has been a member of the SAMBA development Team since 1998 and his involvement with UNIX systems and network administration of UNIX began in 1995. Jerry currently works for HP, working on embedded printing appliances. He has published articles with various web-based magazines and teaches instructional courses as a consultant for several companies and conferences. Gerald has also written books for SAMS Publishing.
Preface Part I. LDAP Basics 1. "Now where did I put that...?", or "What is a directory?" The Lightweight Directory Access Protocol What Is LDAP? LDAP Models 2. LDAPv3 Overview LDIF What Is an Attribute? What Is the dc Attribute? Schema References Authentication Distributed Directories Continuing Standardization 3. OpenLDAP Obtaining the OpenLDAP Distribution Software Requirements Compiling OpenLDAP 2 OpenLDAP Clients and Servers The slapd.conf Configuration File Access Control Lists (ACLs) 4. OpenLDAP: Building a Company White Pages A Starting Point Defining the Schema Updating slapd.conf Starting slapd Adding the Initial Directory Entries Graphical Editors 5. Replication, Referrals, Searching, and SASL Explained More Than One Copy Is "a Good Thing" Distributing the Directory Advanced Searching Options Determining a Server's Capabilities Creating Custom Schema Files for slapd SASL and OpenLDAP Part II. Application Integration 6. Replacing NIS More About NIS Schemas for Information Services Information Migration The pam ldap Module The nss ldap Module OpenSSH, PAM, and NSS Authorization Through PAM Netgroups Security Automount Maps PADL's NIS/LDAP Gateway 7. Email and LDAP Representing Users Email Clients and LDAP Mail Transfer Agents (MTAs) 8. Standard Unix Services and LDAP The Directory Namespace An FTP/HTTP Combination User Authentication with Samba FreeRadius Resolving Hosts Central Printer Management 9. LDAP Interoperability Interoperability or Integration? Directory Gateways Cross-Platform Authentication Services Distributed, Multivendor Directories Metadirectories Push/Pull Agents for Directory Synchronization 10. Net::LDAP and Perl The Net::LDAP Module Connecting, Binding, and Searching Working with Net::LDAP::LDIF Updating the Directory Advanced Net::LDAP Scripting Part III. Appendixes A. PAM and NSS B. OpenLDAP Command-Line Tools C. Common Attributes and Objects D. LDAP RFCs, Internet-Drafts, and Mailing Lists E. slapd.conf ACLs Index