Tech Notes, Tips & Reviews

NIS/NFS Networking with Mandriva 2010

Mar 092010

undefinedI recently setup a network using NIS & NFS with Mandriva Linux (Running KDE) as the server and workstation OS. I chose to have Linux installed on each workstation (rather than using LTSP), as the machines are reasonable in specifications.

When completed the workstations now show the list of users on the login screen. Users can login to any of the workstations and get their desktop complete with all their settings (background, themes, email setup, etc). This makes for a very flexible setup where if one workstation fails the user can simply logon somewhere else until the workstation is fixed. It also means that all user data and configuration is stored centrally on the server.

Server Setup

These instructions refer specifically to Mandriva 2010 (or Mandriva 2009) but the setup would be very similar for other Linux flavours. You should open a console as root or su to root to issue these commands. I use ‘vi’ to edit the configuration files but you could also use ‘nano’ or ”kwrite’ if you like.

Install the packages: ‘ypserv’ and ‘rpcbind’ (or ‘portmap’ for Mandriva 2009).

urpmi ypserv rpcbind

Make sure that the services are set to start on bootup :-

chkconfig –level 345 ypserv on
chkconfig –level 345 rpcbind on (or portmap for Mandriva 2009)

Set the domain name (not the internet domain name, just the NIS domain name used internally). I just used “server” for simplicity :-

Add “NISDOMAIN=server” to the end of the “/etc/sysconfig/network” file.
Issue the command “domainname server”

(Note that I do both of the above as I noticed that just using the domainname command worked but seemed to be forgotten later. To check that your domainname is still set just issue the “domainname” command with no parameters).

Make the user home directory mount point. I use /export/home rather than /home to save confusion later on :-

mkdir -p /export
mkdir /export/home

If you have existing accounts in /home on the server that you wish to move to /export/home :-

mv /home/fred /export/home (Move Fred’s account)

For all moved users edit the /etc/passwd to set the new path. Note that I set all “exported” user ids to 600 or over so that we can selectively export only the users over 600 and excude the local users from 500 to 599 :-

ie. fred:x:600:600:Fred Flintstone:/export/home/fred:/bin/bash

Create (or add to) the /etc/exports file. The following example assumes you are using the 192.168.1.x network. The first line exports the home directories of all users, the following optional lines show how to export a few other shared directories if needed :-

/export 192.168.1.0/24(rw,no_root_squash,no_subtree_check,sync)
/data/public *(no_all_squash,sync,secure,rw)
/data/office *(no_all_squash,sync,secure,rw)
/data/admin *(no_all_squash,sync,secure,rw)

Make the NIS maps. This also needs to be run after adding, changing or removing users. Note that I set MINUID and MINGID to 600 in the /var/yp/MakeFile so that users 500 to 599 are not shown :-

cd /var/yp
make

That’s the server configuration complete. You can now add new users if required, when adding them set their home directory to /export/home/{username} (you may need to mkdir the directory before adding the user) and their userid/groupid to 600+. You can now either start the required services (ypserv, rpcbind, portmap) or just restart the server and you’re ready to go.

Client Setup

Install the packages ‘ypbind’, ‘autofs’ and ‘rpcbind’ (or ‘portmap’ for Mandriva 2009).

urpmi ypbind autofs rpcbind

Make sure that the services are set to start on bootup :-

chkconfig –level 345 ypbind on
chkconfig –level 345 autofs on
chkconfig –level 345 rpcbind on (or portmap for Mandriva 2009)

Set the domain name (not the internet domain name, just the NIS domain name used internally). I just used “server” for simplicity :-

Add “NISDOMAIN=server” to the end of the “/etc/sysconfig/network” file.
Issue the command “domainname server”

Add nis to the following entries in /etc/nsswitch.conf as follows

passwd: nis files
shadow: nis files
group: nis files
automount: files nis

Add to end of /etc/yp.conf

ypserver 192.168.1.2 (Use your servers IP address here)

Add to end of /etc/autofs/auto.master

/export auto.export –timeout 30

Create auto.export with

home -fstype=nfs,rsize=8192,wsize=8192,nosuid,nolock 192.168.0.2:/export/home
mkdir -p /export

Switch off auto-login (if enabled) in Control Centre.