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!


Sign up to gain exclusive access to email subscriptions, event invitations, competitions, giveaways, and much more.

Membership is free, and your security and privacy remain protected. View our privacy policy before signing up.

Error: Please check your email address.
Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Alastair Cousins

PC World
Show Comments





Back To Business Guide

Click for more ›

Most Popular Reviews

Latest Articles


PCW Evaluation Team

Christopher Low

Brother RJ-4230B

This small mobile printer is exactly what I need for invoicing and other jobs such as sending fellow tradesman details or step-by-step instructions that I can easily print off from my phone or the Web.

Aysha Strobbe

Microsoft Office 365/HP Spectre x360

Microsoft Office continues to make a student’s life that little bit easier by offering reliable, easy to use, time-saving functionality, while continuing to develop new features that further enhance what is already a formidable collection of applications

Michael Hargreaves

Microsoft Office 365/Dell XPS 15 2-in-1

I’d recommend a Dell XPS 15 2-in-1 and the new Windows 10 to anyone who needs to get serious work done (before you kick back on your couch with your favourite Netflix show.)

Maryellen Rose George

Brother PT-P750W

It’s useful for office tasks as well as pragmatic labelling of equipment and storage – just don’t get too excited and label everything in sight!

Cathy Giles

Brother MFC-L8900CDW

The Brother MFC-L8900CDW is an absolute stand out. I struggle to fault it.

Luke Hill


I need power and lots of it. As a Front End Web developer anything less just won’t cut it which is why the MSI GT75 is an outstanding laptop for me. It’s a sleek and futuristic looking, high quality, beast that has a touch of sci-fi flare about it.

Featured Content

Product Launch Showcase

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?