NIS+ Transition Guide

NIS and NIS+ Command Equivalents in the Solaris 1.x and 2.x Releases

The tables in this section give a quick overview of the differences between Solaris 1.x NIS commands, Solaris 2.x NIS commands, and their NIS+ equivalents.

NIS Commands Supported in the Solaris 2.x Release

Only some NIS commands are supported in the Solaris 2.x release. NIS server commands are not shipped with the Solaris 2.x release. Only the NIS client commands are included. Whether these NIS commands run also depends on whether a Solaris 2.x NIS client is making requests of an NIS server or of an NIS+ server in NIS-compatibility mode. NIS clients cannot make updates to NIS+ servers that are running in NIS-compatibility mode. For example, such clients cannot run the chkey and newkey commands. Table 4-2 lists the NIS commands supported in the Solaris 2.x release.

Table 4-2 NIS Commands Supported in the Solaris 2.x Releases

Command Type 

NIS Commands Supported in the Solaris 2.x Release 

NIS Commands Not Supported in the Solaris 2.x Release 

Utilities 

ypinit ypxfr ypcat ypmatch yppasswd ypset ypwhich

yppush yppoll ypchsh ypchfn ypmake

Daemons 

ypbind 

ypserv ypxfrd rpc.ypupdated rpc.yppasswdd

NIS API 

yp_get_default_domain()

yp_bind()

yp_unbind()

yp_match()

yp_first

yp_next()

yp_all()

yp_master()

yperr_string()

ypprot_err()

yp_order() yp_update()

Client and Server Command Equivalents

The two tables in this section contain NIS commands and their approximate NIS+ equivalents. The commands have been divided into two categories: Table 4-3 contains name service client commands and Table 4-4 contains name service server commands.

Client Command Equivalents

Table 4-3 shows client-to-name server commands. These commands are typed on name service client machines and request information of name service servers. The commands in column 1 run on Solaris 1.x or 2.x NIS clients connected to Solaris 1.x NIS servers. The commands in column 2 run on Solaris 1.x or 2.x NIS clients connected to Solaris 2.x NIS+ servers running in NIS-compatibility mode. The commands in column 3 only run on Solaris 2.x NIS+ clients connected to Solaris 2.x NIS+ servers. Commands are approximately equivalent across rows. "N/A" indicates that an equivalent command does not exist for that case.

Table 4-3 NIS Client Commands and Equivalent NIS+ Commands

SunOS 4.x NIS Server 

NIS+ Server in NIS-Compatibility Mode 

NIS+ Server 

ypwhich -m

ypwhich -m

niscat -o org_dir

ypcat

ypcat

niscat

ypwhich

ypwhich

N/A  

ypmatch

ypmatch

nismatch/nisgrep

yppasswd

passwd

passwd

ypbind

ypbind

N/A  

yppoll

N/A  

N/A 

ypset

ypset

N/A 

N/A 

ypinit -c

nisclient -c

Note that:

Server Command Equivalents

Table 4-4 shows name server-to-name server commands. The NIS server commands are not included in the Solaris 2.x release, so they are not available to either NIS+ servers or NIS+ servers in NIS-compatibility mode. In addition, an NIS server cannot make updates to an NIS+ server, nor can an NIS+ server make updates to an NIS server. Column 3 lists the NIS+ server commands that are equivalent to the NIS server commands in column 1. Servers in NIS-compatibility mode have no exact equivalents because NIS-compatibility mode refers only to client commands.

Table 4-4 NIS Server Commands and Equivalent NIS+ Commands

SunOS 4.x NIS Server 

NIS+ Server in NIS-Compatibility Mode 

NIS+ Server 

ypxfr

N/A 

N/A 

makedbm

N/A 

nisaddent

ypinit -m ypinit -s

N/A 

nisserver

ypserv

rpc.nisd -Y

rpc.nisd

ypserv -d

rpc.nisd -Y -B

No DNS forwarding needed; use /etc/nsswitch.conf

ypxfrd

N/A 

N/A 

rpc.ypupdated

N/A 

N/A 

rpc.yppasswd

rpc.nispasswdd

rpc.nispasswdd

yppush

N/A 

nisping

ypmake

N/A 

nissetup, nisaddent

ypxfr

N/A 

N/A 

NIS and NIS+ API Function Equivalents

To completely convert your site to NIS+, you must both change the name service and port all applications to NIS+. Any internally created applications that make NIS calls have to be modified to use NIS+ calls. Otherwise, you always have to run your NIS+ servers in NIS-compatibility mode, with all the drawbacks that this mode entails. External applications may force you to run your namespace in NIS-compatibility mode until they are updated, as well.

Table 4-5 contains a list of the NIS API functions and their NIS+ API equivalents, if they exist.

Table 4-5 NIS API and NIS+ API Equivalent Functions

NIS API Functions 

NIS+ API Functions 

yp_get_default_domain()

nis_local_directory()

ypbind()

N/A 

ypunbind()

N/A 

ypmatch()

nis_list()

yp_first()

nis_first_entry()

yp_next()

nis_next_entry()

yp_all()

nis_list()

yp_master()

nis_lookup()

yperr_string()

nis_perror() nis_sperrno()

ypprot_err()

nis_perror() nis_sperrno()

yp_order()

N/A 

yp_update()

nis_add_entry(), nis_remove_entry(), nis_modify_entry()