Network Information  «Prev  Next»
Lesson 3Overview of NIS
ObjectiveDescribe how NIS works.

Overview of NIS

NIS is a client-server database system that provides access to a collection of database files called NIS maps. An NIS installation must have a single master NIS server, which contains the original copies of all NIS maps. An NIS installation may have several slave servers, which replicate the NIS maps. The slave servers help distribute the load on the database and provide a backup if the master server becomes temporarily unavailable. Finally, an NIS installation consists of some number of NIS clients. The set of NIS clients and servers dependent on a single master server make up an NIS domain. NIS servers and clients communicate using Sun's RPC[1] protocol. An NIS domain is identified by its name.

How does Network Information Service (NIS) work?

Network Information Service (NIS), also known as Yellow Pages, is a client-server system that allows centralized management of user and system information across a network. NIS stores information such as user and group accounts, host names, and network addresses in a database that can be queried by clients.
NIS uses a hierarchical design, with a single NIS master server that contains the master copy of the database, and multiple NIS slave servers that contain replicas of the master database. The master server is responsible for updating the database and propagating changes to the slave servers. NIS clients query the NIS servers for information by sending requests to a well-known port (typically port number 111) on the server. The NIS server responds with the requested information, if it is available in the database.
The NIS protocol is considered legacy and not recommended to use since it has several security vulnerabilities, NIS+ an improvement of NIS was introduced but also it got replaced by Lightweight Directory Access Protocol (LDAP) as a more modern, flexible and secure alternative.


On Linux machines, the nisdomainname command will query or set the NIS domain. Only root can set the name:
# nisdomainname prosoft.class
# nisdomainname

AIX Solaris

On other (non-Linux) UNIX machines, the nisdomainname command is simply called domainname. Also, Solaris machines use a file called /etc/defaultdomain to set the NIS domain when the machine boots. The boot scripts test for the existence of this file before starting NIS services. On AIX, much of the NIS configuration can be done through SMIT (mkclient, mkserver).

NIS Overview - Quiz

Click the Quiz link below to take a short multiple-choice quiz covering the basics of NIS.
NIS Overview - Quiz
[1]RPC: Remote Procedure Call (RPC)