Complete Contents
Introduction
Chapter 1 Introduction to Synchronized NIS/LDAP Service
Chapter 2 Initializing and Operating the NIS Service
Chapter 3 Using Deja to Update NIS Information
Chapter 4 NIS Information in the LDAP Directory
Chapter 5 NIS Command & File Reference
Appendix A Mapping Syntax and Semantics
NIS Extension Guide: Introduction to Synchronized NIS/LDAP
Previous Next Contents Index


Chapter 1 Introduction to Synchronized NIS/LDAP Service

The Network Information Service (NIS) provides a robust and reliable naming service that holds information on network users, groups, host machines, servers, and generally all information necessary to operate a network. However, with the growing acceptance of LDAP directories, companies find that they also want to hold the same type of information in their LDAP directory.

This chapter provides an introduction to using the NIS name service in conjunction with the Netscape Directory Server. All NIS information is stored in the LDAP directory to provide a single repository for network information. All of the features provided by the standard NIS environment are preserved.

This chapter explains the stages in transitioning from a standard NIS service to a naming service synchronized with the Netscape Directory Server.

This chapter contains the following sections:


Benefits of Netscape Directory Server
Using the Netscape Directory Server to store NIS information provides several benefits:


NIS/LDAP Compared Terminology
In an NIS environment, information is stored in tables, which are also often referred to as maps. These tables are stored on disk, and are constructed from the NIS source files. The source file and corresponding table are identified using the same name which identifies the type of information they hold. For example, the /etc/hosts file contains a list of host names and their corresponding IP addresses which are use to build the hosts table.

In LDAP, information is stored in entries. The type of entry, or object class, and the mandatory and optional attributes associated with that object class, identify the type of information held in the entry. For example, the object class nisObject is used to create an LDAP entry that represents a line in an NIS file. A mandatory attribute of nisObject is nisMapName.

Detailed examples of how the contents of NIS files are mapped onto LDAP entries are provided in Chapter  4, "NIS Information in the LDAP Directory."

In an NIS environment where multiple servers hold copies of the NIS tables, the server that holds the reference copy is called the master server, and all servers that hold copies are called slave servers. The operation of copying information between the master and the slave servers is called propagation.

In an LDAP environment, you might see the terms master and replica servers. However, in the Netscape Directory Server documentation, a master server is referred to as a supplier, and a slave server as a consumer. The operation of copying information between a supplier and the consumers is called replication.


Transitioning to Synchronized Operation
If you have a well established NIS environment, the best way to manage the transition without disrupting your naming service is outlined in Figure 1.1, Figure 1.2, and Figure 1.3. The procedure for initializing synchronized NIS/LDAP service is described in Chapter  2, "Initializing and Operating the NIS Service."

Figure 1.1 Pure NIS environment

Figure 1.1 shows a pure NIS environment with NIS requests from clients handled by the closest NIS server on the network. The synchronization of information held on master and slave servers is handled through NIS propagation of tables, using the standard yppush process.

Figure 1.2 Mixed NIS-Netscape Directory Server Environment

Figure 1.2 shows the first stage in the transition to a Netscape Directory Server environment synchronized with NIS. The recommended approach is to replace a master server first so that you can perform write operations on the NIS information in the LDAP directory. You can replace a slave server first, but you will only be able to perform read operations on the NIS information in the LDAP directory.

At this stage, you have the choice between two methods for performing updates to NIS information:

In both cases, it is the standard NIS propagation process, yppush that handles the replication of data to slave servers. The difference is that if you choose the second method for updates, the NIS source files on the master server will no longer be up-to-date.

Note. Do not use a combination of both methods.

For more information on performing updates to NIS information, refer to "Updating NIS Maps" .

Figure 1.3 Netscape Directory Server Environment

Figure 1.3 shows an environment where all standard NIS servers are synchronized with the Netscape Directory Server. All your servers support both NIS and LDAP clients.

At this stage too, you have the choice of methods for performing updates to NIS information:

You also have the choice of replication methods:

The second method, using LDAP replication is the most efficient.


Daemons Providing Synchronized Service
When you synchronize your standard NIS service with the Netscape Directory Server, some of the standard NIS daemons are stopped and replaced by Netscape Directory Server daemons that are functionally equivalent. Table  1.1 shows how all the functions in the standard NIS environment are preserved, and the daemons that provide them.

This section also provides a brief description of the additional commands and daemons provided with Solaris Extensions for Netscape Directory Server 4.11. Full reference information on these and on the standard NIS processes are provided in Chapter  5, "NIS Command & File Reference."

Table 1.1 Daemons and Commands Providing NIS Service

Standard NIS
Netscape Directory Server
Functional Purpose
ypserv
dsypserv
Server process that responds to NIS requests
rpc.yppasswdd
dsyppasswdd
Process that modifies the NIS passwd table
ypxfrd
-
Process that synchronizes NIS master and slave servers
yppush
-
Command initiated on the master server to propagate updates to slave servers
ypxfr
dsypxfr
Command initiated on an NIS slave server to request updates from the NIS master server
makedbm
dsmakedbm
Process that builds the NIS tables from the NIS administration files
ypinit
dsypinit
Process that initializes NIS processes on NIS clients and NIS servers
rpc.nisd_resolv
-
Process that provides DNS access
-
dsypsync
Process that resynchronizes specified NIS tables with the NIS information stored in the LDAP directory.

dsypserv

The dsypserv daemon provides the NIS service. It receives and responds to NIS requests in the same way as the ypserv(1M) daemon. It does not convert NIS requests to LDAP requests and NIS responses to LDAP responses. It uses all of the standard NIS administration and lookup utilities such as yppoll(1M), yppush(1M), ypcat(1), ypwhich(1), and ypmatch(1). The major difference between dsypserv and ypserv is that dsypserv uses the information in the LDAP directory to build the NIS maps.

Some of the standard NIS utilities were modified to accomodate the synchronization with the LDAP directory. These are listed in Table  1.1.

For more detailed information on the NIS service, refer to the man page for ypserv(1M).

dsyppasswdd

The dsyppasswdd daemon manages changes to the password tables stored in the LDAP directory. It runs on the master server and responds to requests from users who invoke the passwd command to change their password, full name (in the gecos field) or shell. The dsyppasswdd daemon makes updates to the LDAP database, and also to the NIS passwd file. It also updates the shadow file when there is one.

For details of how to configure the dsyppasswdd daemon, refer to "dsyppasswdd" .

dsypxfr

The dsypxfr command is used on a slave server to request updates from the master. It can be invoked manually or by a crontab file, or called by the dsypserv daemon.

For more information on dsypxfr, refer to "dsypxfr" .

dsmakedbm

The dsmakedbm command builds the NIS tables from the information held in the NIS source files. It is slightly different from the standard NIS makedbm command because it calls the dsimport utility to create NIS entries in the directory.

dsypinit

The dsypinit command initializes an NIS server as a master server or slave server. This command can also be used instead of the NIS standard ypinit command to initialize NIS clients.

For details of how to use dsypinit, refer to "dsypinit" .

Note. Do not run dsypinit to initialize the NIS service with Netscape Directory Server. Use dsypinstall, as described in "Initializing Synchronized Operation" .

dsypsync

The dsypsync command can be used to resynchronize NIS tables with the information held in the LDAP directory. In this synchronization process, the reference data, is the data held in the LDAP directory.

Note. The dsypsync command regenerates the NIS maps, however, it does not update the NIS source files.

For more information on dsypsync, see "dsypinit" .

dsyp

The dsyp command can be used to initialize or disable the NIS/LDAP synchronized service. It is called by the dsypinstall script to initialize or stop the NIS synchronization with the LDAP directory. It can also be invoked manually.

For more information on dsyp, refer to "dsyp" .

dsypaddmap

The dsypaddmap commands simplifies the process of creating NIS-to-LDAP mapping definitions. You can use dsypaddmap to automatically create an NIS-to-LDAP mapping for a new map you want to import into the directory.

Note. Although dsypaddmap creates a new subtree in the directory for the new map, it does not import NIS data into the directory. You must use dsimport to create the NIS entries in the directory.

For more information on dsypaddmap, refer to "dsypaddmap" .

dsypdelmap

The dsypdelmap command disables NIS maps. It does not actually remove the NIS entries from the directory because they could be used by other applications. It does not remove the mapping definition either.

For more information on dsypdelmap, refer to "dsypdelmap" .

 

Copyright © 1999 Sun Microsystems, Inc. Some preexisting portions Copyright © 1999 Netscape Communications Corporation