Users & Groups - NIS

If you use several computers connected on a network, it can become a hassle to keep track of the usernames and passwords you use to access each machine. NIS (Network Information Service) lets you to keep a centralised database of usernames and passwords on a server so you can use the same username and password on each machine on the network.

In a home situation, this would mean all members of your family would be able to log in to any computer with the same username and password. This month's Linux Here's How will show you how to set up an NIS server under Linux to provide username and password authentication for a network of Linux/UNIX computers.

The NIS service is based on the client-server model. To use NIS on your network you need a single NIS server to which the other computers on your network connect using an NIS client. The NIS server stores the user database, which is mirrored on each of the clients.

NIS uses the concept of domains to organise the computers on your network. All computers in a domain access the same user and password database. In this column we will call our domain 'home' and make all of the computers on the network members of the domain.

For more information on NIS and the Linux implementation of the protocol, see

Setting up the server

You do not need a powerful computer to run an NIS server, but you will need a computer that is switched on all the time so that the other computers on your network can access it.

Most Linux distributions include a copy of the Linux NIS server. The package will be named 'ypserv'. There was a copy of the latest version of ypserv on May's cover CD, but, if available, you should install the version provided with your distribution.

After installing ypserv from your distribution or the cover CD, create the directory /var/yp by typing in a shell as root:

$ mkdir /var/yp

Ypserv reads from a configuration file specifying the domains available and the networks connected to each. To create the configuration file, enter the following in a text editor and save the contents as /etc/ypserv.conf:


Change 192.168.3. to the IP of your network. By leaving the final component of the IP empty, the entire range of addresses in the network, .1-.254, will be served by the NIS server.

To set the domain name on the server to 'home', type the following in a shell as root:

$ domainname home

Now the server can be started. If you installed the server from a package provided by your distribution, you can start it by typing in a shell as root:

$ /etc/init.d/ypserv

Otherwise, you can start the server by typing in a shell as root:

$ rpcinfo -p localhost ypserv

Once the server has started, you must initialise the databases by typing in a shell as root:

$ /usr/lib/yp/ypinit -m

You will be prompted to enter the hostnames of the servers on your network. The hostname of your machine will be entered for you automatically, so press <Ctrl>-D immediately to initialise the NIS server. Now the server is running and ready to serve clients.

Each time you add a user to the system you must rebuild the NIS database so that the changes propagate to the rest of your network. To rebuild the NIS database, type in a shell as root:

$ make -C /var/yp

Setting up the client

To set up a client for the NIS service, edit or create the text file /etc/yp.conf with a text editor. Add the following to the file:

domain <domain> server <server_ip>

Replace <domain> with your NIS domain - in our case, 'home' - and <server_ip> with the IP of your NIS server, in our case,

A copy of the Linux NIS client, ypbind, was included on this May's cover CD. Most Linux distributions include the client, and this should be used if possible.

To connect the client to your NIS server, type the following in a shell while logged in as the super user:

$ /usr/sbin/ypbind

To test that you have connected to the NIS server, type the following:

$ /usr/sbin/ypcat passwd

If you are successful, this will display the contents of the file /etc/passwd on the NIS+ server.

You can automatically connect to the NIS server by adding the command used to connect to the NIS server to the file /etc/rc.local. The /etc/rc.local script is a plain text file and is run when your system boots.

After setting up the client on each of your computers you will be able to use the same username and password to log in. Next month I will show you how to network your home directories, allowing you to access the same desktop on each computer.

Join the newsletter!

Error: Please check your email address.
Rocket to Success - Your 10 Tips for Smarter ERP System Selection
Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Alastair Cousins

PC World
Show Comments


James Cook University - Master of Data Science Online Course

Learn more >


Sansai 6-Outlet Power Board + 4-Port USB Charging Station

Learn more >

Victorinox Werks Professional Executive 17 Laptop Case

Learn more >



Back To Business Guide

Click for more ›

Brand Post

Most Popular Reviews

Latest Articles


PCW Evaluation Team

Louise Coady

Brother MFC-L9570CDW Multifunction Printer

The printer was convenient, produced clear and vibrant images and was very easy to use

Edwina Hargreaves

WD My Cloud Home

I would recommend this device for families and small businesses who want one safe place to store all their important digital content and a way to easily share it with friends, family, business partners, or customers.

Walid Mikhael

Brother QL-820NWB Professional Label Printer

It’s easy to set up, it’s compact and quiet when printing and to top if off, the print quality is excellent. This is hands down the best printer I’ve used for printing labels.

Ben Ramsden

Sharp PN-40TC1 Huddle Board

Brainstorming, innovation, problem solving, and negotiation have all become much more productive and valuable if people can easily collaborate in real time with minimal friction.

Sarah Ieroianni

Brother QL-820NWB Professional Label Printer

The print quality also does not disappoint, it’s clear, bold, doesn’t smudge and the text is perfectly sized.

Ratchada Dunn

Sharp PN-40TC1 Huddle Board

The Huddle Board’s built in program; Sharp Touch Viewing software allows us to easily manipulate and edit our documents (jpegs and PDFs) all at the same time on the dashboard.

Featured Content

Product Launch Showcase

Latest Jobs

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?