Advanced Network and System Administration
Advanced Network and System Administration
Advanced Network and System Administration
System Administration
Accounts and
Namespaces
1
Topics
1. What is a directory?
2. NIS
3. LDAP
4. OpenLDAP
5. LDAP Authentication
2
What is a Directory?
3
Directories vs. Databases
Directories are optimized for reading.
Databases balanced for read and write.
Directories are tree-structured.
Databases typically have relational structure.
Directories are usually replicated.
Databases can be replicated too.
Both are extensible data storage systems.
Both have advanced search capabilities.
4
System Administration Directories
6
NIS: Network Information Service
Originally called Sun Yellow Pages
Clients run ypbind
Servers run ypserv
Data stored under /var/yp on server.
Server shares NIS maps with clients
Each UNIX file may provide multiple maps
passwd: passwd.byname, passwd.byuid
Slave servers replicate master server content.
Easy to use, but insecure, difficult to extend.
7
LDAP
Lightweight Directory Access Protocol
Lightweight compared to X.500 directories.
Directory, not a database.
Access Protocol, not a directory itself.
8
LDAP Clients and Servers
LDAP Clients
Standalone directory browsers.
Embedded clients (mail clients, logins, etc.)
Cfg /etc/nsswitch.conf on UNIX to use LDAP.
Common LDAP servers
OpenLDAP
Fedora Directory Server (formerly Sun, Netscape)
Mac Open Directory
Microsoft ActiveDirectory
Novell eDirectory (NDS)
9
LDAP Structure
An LDAP directory is made of entries.
Entries may be employee records, hosts, etc.
Each entries consists of attributes.
Attributes can be names, phone numbers, etc.
objectClass attribute identifies entry type.
Each attribute is a type / value pair.
Type is a label for the information stored (name)
Value is value for the attribute in this entry.
Attributes can be multi-valued.
10
Tree-structure of LDAP Directories
11
LDAP Schemas
14
Distinguished Names
Distinguished Names (DNs)
Uniquely identify an LDAP entry.
Provides path from LDAP root to the named entry.
Similar to an absolute pathname.
dn:cn=Jeff Foo,ou=Sales,dc=plainjoe,dc=org
Relative DNs (RDNs)
Any unique attribute pair in directorys container.
ex: cn=Jeff Foo OR username=fooj
Similar to a relative pathname.
Except may have multiple components.
cn=Jane Smith+ou=Sales
cn=Jane Smith+ou=Engineering
15
LDAP Client/Server Interaction
16
LDAP Operations
Client Session Operations
Bind, unbind, and abandon
Query and Retrieval Operations
Search and compare
Modification Operations
Add, modify, modifyRDN, and delete
17
Authentication
Anonymous Authentication
Binds with empty DN and password.
Simple Authentication
Binds with DN and password. Cleartext.
Simple Authentication over SSL/TLS
Use SSL to encrypt simple authentication.
Simple Authentication and Security Layer
SASL is an extensible security scheme.
SASL mechanisms: Kerberos, GSSAPI, SKEY
18
Distributed Directories
Use multiple LDAP servers.
Why distribute?
Throughput
More servers can reduce load on any single server.
Latency
Have local server serve local data to LAN.
Only use WAN for non-local data on other servers.
Administrative Boundaries
Let each side administrate their own directory.
19
OpenLDAP
Open source LDAPv3 server.
LDAP server: slapd
Client commands: ldapadd, ldapsearch
Backend storage: BerkeleyDB
Backend commands: slapadd, slapcat
Schemas: /etc/openldap/schema
Data: /var/lib/ldap
Configuration files
Client: /etc/openldap/ldap.conf
Server: /etc/openldap/slapd.conf
20
Building an OpenLDAP Server
1. Install OpenLDAP.
2. Configure LDAP for your domain.
Change suffix, rootdn, rootpw options.
vim /etc/openldap/slapd.conf
1. Start server
Immediate: /sbin/service ldap start
Permanent: /sbin/chkconfig level 35 ldap on
1. Add data with ldapadd
2. Verify functionality with ldapsearch
21
LDAP Authentication
1. Configure server with schema + user data.
2. Point clients to hostname and rootDN of svr.
/etc/ldap.conf and
/etc/openldap/ldap.conf
1. Verify server access with ldapsearch
2. Configure clients to use LDAP auth
/etc/nsswitch.conf
passwd: files ldap
shadow: files ldap
group: files ldap
22
References
1. Brian Arkills, LDAP Directories Explained: An Introduction and
Analysis, Addison-Wesley, 2003.
2. Gerald Carter, LDAP System Administration, OReilly, 2003.
3. J. Heiss, Replacing NIS with Kerberos and LDAP,
http://www.ofb.net/~jheiss/krbldap/, 2004.
4. LDAP Howtos, Links, and Whitepapers, http://www.bind9.net/ldap/,
2005.
5. http://www.ldapman.org/, 2005.
6. Luiz Malere, Linux LDAP HOWTO,
http://www.tldp.org/HOWTO/LDAP-HOWTO/, 2004.
7. OpenLDAP, OpenLDAP Administrators Guide,
http://www.openldap.org/devel/admin/, 2005.
8. RedHat, Red Hat Enterprise Linux 4 Reference Guide, Chapter 13,
http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/ref-guid
, 2005.
23