The Network Information Service (NIS) provides a simple network lookup service consisting of databases and processes. It was formerly known as Sun Yellow Pages (YP). The functionality of the two remains the same; only the name has changed. Its purpose is to provide information, that has to be known throughout the network, to all machines on the network.

NIS is really old and deprecated. There is no further development of the code. It is strongly recommended, if only for safety reasons, to look fork a more modern solution.

Information likely to be distributed by NIS are:

  • login names/passwords/home directories (/etc/passwd)
  • group information (/etc/group)
  • host names and IP numbers (/etc/hosts)

For example if your password entry is recorded in the NIS passwd database, you will be able to login on all machines on the net which have the NIS client programs running.

Linux machines can take full advantage of existing NIS service or provide NIS service themselves.

Setup

At first you need to define the NIS master server which contains all source files for the various maps like /etc/passwd, /etc/group or /etc/hosts. The NIS server process ypserv needs to be run on this host. The ypserv daemon is typically activated at system startup. There could be more hosts running ypserv, this one are called “slaves”. They get their maps from the master server. If a slave goes down, it will miss updates from the master.

On other machines using the NIS services as client, you have to run ypbind. ypbind must run on every machine which has NIS client processes; ypserv may or may not be running on the same node, but must be running somewhere on the network. For normal users, you need the yp-tools. This package provide tools for communication with ypbind, ypset and ypwhich, tools for accessing the NIS maps, ypcat, ypmatch and yppoll, and tools for changing NIS user information, ypchfn, ypchsh and yppasswd.

The ypserv package implements fully NIS master/slave support and is compatible to the version from SUN. The YP V2 protocol is completely implemented, YP V1 only partially. ypbind-mt implements a multi-threaded ypbind daemon, which is compatible to the SUN ypbind protocol version 1 to 3.

All tools support IPv6 if compiled with and linked against TI-RPC.