NFS Utilities-1.0.10

Introduction to NFS Utilities

The NFS Utilities package contains the userspace server and client tools necessary to use the kernel's NFS abilities. NFS is a protocol that allows sharing file systems over the network.

Package information

NFS Utilities Dependencies

Required

portmap-5beta (Runtime dependency)

Optional for NFSv4 Support

pkg-config-0.20 and libevent and libnsfidmap

Optional for GSS (RPC Security) Support

pkg-config-0.20, and MIT Kerberos V5-1.6 or Heimdal-0.7.2 or libgssapi, and librpcsecgss; for additional SPKM-3 support, install SPKM-3

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/nfs-utils

Kernel Configuration

Enable the following options in the kernel configuration and recompile the kernel if necessary:

File systems:
  Network File Systems:
    NFS File System Support: M or Y
    NFS Server Support: M or Y

Select the appropriate sub-options that appear when the above options are selected.

Installation of NFS Utilities

Before you compile the program, ensure that the nobody user and nogroup group have been created. You can add them by running the following commands as the root user:

groupadd -g 99 nogroup &&
useradd -c "Unprivileged Nobody" -d /dev/null -g nogroup \
    -s /bin/false -u 99 nobody
[Note]

Note

The classic uid and gid values are 65534 which is also -2 when interpreted as a signed 16-bit number. These values impact other files on some filesystems that do not have support for sparse files. The nobody and nogroup values are relatively arbitrary. The impact on a server is nil if the exports file is configured correctly. If it is misconfigured, an ls -l or ps listing will show a uid or gid number of 65534 instead of a name. The client uses nobody only as the user running rpc.statd.

Install NFS Utilities by running the following commands:

./configure --prefix=/usr \
            --sysconfdir=/etc \
            --disable-nfsv4 \
            --disable-gss &&
make

This package does not come with a test suite.

Now, as the root user:

[Note]

Note

If your /usr directory is NFS mounted, you should install the executables in /sbin by passing an additional parameter --sbindir=/sbin to the above ./configure command.

make install

Command Explanations

--disable-nfsv4: Disables support for NFS version 4.

--disable-gss: Disables support for RPCSEC GSS (RPC Security).

--with-tcp-wrappers: Use this option to enable tcpwrappers support.

Configuring NFS Utilities

Server Configuration

/etc/exports contains the exported directories on NFS servers. Refer to the exports.5 manual page for the syntax of this file. Also refer to the "NFS HowTo" available at http://nfs.sourceforge.net/nfs-howto/ for information on how to configure the servers and clients in a secure manner. For example, for sharing the /home directory over the local network, the following line may be added:

/home <192.168.0.0/255.255.255.0>(rw,subtree_check,anonuid=99,anongid=99)
Boot Script

Install the /etc/rc.d/init.d/nfs-server init script included in the blfs-bootscripts-20060910 package to start the server at boot.

make install-nfs-server

Now create the /etc/sysconfig/nfs-server configuration file:

cat > /etc/sysconfig/nfs-server << "EOF"
PORT="2049"
PROCESSES="8"
QUOTAS="no"
KILLDELAY="10"
EOF
tcpwrappers Configuration

If you enabled support for tcpwrappers, ensure you have an entry in the /etc/hosts.allow file for access from the portmap daemon if you have a restrictive /etc/hosts.deny file.

Client Configuration

/etc/fstab contains the directories that are to be mounted on the client. Alternately the partitions can be mounted by using the mount command with the proper options. To mount the /home and /usr partitions, add the following to the /etc/fstab:

<server-name>:/home  /home nfs   rw,_netdev,rsize=8192,wsize=8192 0 0
<server-name>:/usr   /usr  nfs   ro,_netdev,rsize=8192            0 0
Boot Script

Install the /etc/rc.d/init.d/nfs-client init script included in the blfs-bootscripts-20060910 package to start the client services at boot.

make install-nfs-client

To automatically mount nfs filesystems, clients will also need to install the netfs bootscript as described in Configuring for Network Filesystems.

Contents

Installed Programs: exportfs, nfsstat, nhfsgraph, nhfsnums, nhfsrun, nhfsstone, rpc.lockd, rpc.mountd, rpc.nfsd, rpc.rquotad, rpc.statd, and showmount
Installed Libraries: None
Installed Directories: /var/lib/nfs

Short Descriptions

exportfs

maintains a list of NFS exported file systems.

nfsstat

prints NFS statistics.

nhfsgraph

runs nhfsstone over multiple loads.

nhfsnums

converts raw numbers from nhfsstone output into plot format.

nhfsrun

executes nhfsstone with a range of different loads.

nhfsstone

is used on a NFS client to generate an artificial load with a particular mix of NFS operations.

rpc.lockd

starts the NFS lock manager (NLM) on kernels that don't start it automatically. However, since most kernels do start it automatically it is usually not required.

rpc.mountd

implements the NFS mount protocol on an NFS server.

rpc.nfsd

implements the user level part of the NFS service on the server.

rpc.rquotad

is an rpc server which returns quotas for a user of a local file system which is mounted by a remote machine over the NFS.

rpc.statd

is used by the NFS file locking service, rpc.lockd, to implement lock recovery when the NFS server machine crashes and reboots. Runs on the NFS server only.

showmount

displays mount information for an NFS server.

Last updated on 2006-09-10 20:19:50 -0500