rpc.mountd

Section: Maintenance Commands (8)
Updated: 31 Aug 2004
Index Return to Main Contents
 

NAME

rpc.mountd - NFS mount daemon  

SYNOPSIS

/usr/sbin/rpc.mountd [options]  

DESCRIPTION

The rpc.mountd program implements the NFS mount protocol. When receiving a MOUNT request from an NFS client, it checks the request against the list of currently exported file systems. If the client is permitted to mount the file system, rpc.mountd obtains a file handle for requested directory and returns it to the client.  

Exporting NFS File Systems

Making file systems available to NFS clients is called exporting. Usually, a file system and the hosts it should be made available to are listed in the /etc/exports file, and invoking exportfs -a whenever the system is booted. The exportfs(8) command makes export information available to both the kernel NFS server module and the rpc.mountd daemon. Alternatively, you can export individual directories temporarily using exportfs's host:/directory syntax.  

The rmtab File

For every mount request received from an NFS client, rpc.mountd adds an entry to the /var/lib/nfs/rmtab file. When receiving an unmount request, that entry is removed. However, this file is mostly ornamental. One, the client can continue to use the file handle even after calling rpc.mountd 's UMOUNT procedure. And two, if a client reboots without notifying rpc.mountd , a stale entry will remain in rmtab.  

OPTIONS

-d kind or --debug kind
Turn on debugging. Valid kinds are: all, auth, call, general and parse.
-F or --foreground
Run in foreground (do not daemonize)
-f or --exports-file
This option specifies the exports file, listing the clients that this server is prepared to serve and parameters to apply to each such mount (see exports(5)). By default, export information is read from /etc/exports.
-h or --help
Display usage message.
-o num or --descriptors num
Set the limit of the number of open file descriptors to num. The default is to leave the limit unchanged.
-N or --no-nfs-version
This option can be used to request that rpc.mountd do not offer certain versions of NFS. The current version of rpc.mountd can support both NFS version 2 and the newer version 3. If the NFS kernel module was compiled without support for NFSv3, rpc.mountd must be invoked with the option --no-nfs-version 3 .
-n or --no-tcp
Don't advertise TCP for mount.
-P
Ignored (compatibility with unfsd??).
-p or --port num
Force rpc.mountd to bind to the specified port num, instead of using the random port number assigned by the portmapper.
-H or --ha-callout prog
Specify a high availability callout program, which will receive callouts for all client mount and unmount requests. This allows rpc.mountd to be used in a High Availability NFS (HA-NFS) environment. This callout is not needed (and should not be used) with 2.6 and later kernels (instead, mount the nfsd filesystem on /proc/fs/nfsd ). The program will be called with 4 arguments. The first will be mount or unmount depending on the reason for the callout. The second will be the name of the client performing the mount. The third will be the path that the client is mounting. The last is the number of concurrent mounts that we believe the client has of that path.
-s, --state-directory-path directory
specify a directory in which to place statd state information. If this option is not specified the default of /var/lib/nfs is used.
-r, --reverse-lookup
mountd tracks IP addresses in the rmtab, and when a DUMP request is made (by someone running showmount -a, for instance), it returns IP addresses instead of hostnames by default. This option causes mountd to do a reverse lookup on each IP address and return that hostname instead. Enabling this can have a substantial negative effect on performance in some situations.
-t N or --num-threads=N
This option specifies the number of worker threads that rpc.mountd spawns. The default is 1 thread, which is probably enough. More threads are usually only needed for NFS servers which need to handle mount storms of hundreds of NFS mounts in a few seconds, or when your DNS server is slow or unreliable.
-V or --nfs-version
This option can be used to request that rpc.mountd offer certain versions of NFS. The current version of rpc.mountd can support both NFS version 2 and the newer version 3.
-v or --version
Print the version of rpc.mountd and exit.
-g or --manage-gids
Accept requests from the kernel to map user id numbers into lists of group id numbers for use in access control. An NFS request will normally (except when using Kerberos or other cryptographic authentication) contains a user-id and a list of group-ids. Due to a limitation in the NFS protocol, at most 16 groups ids can be listed. If you use the -g flag, then the list of group ids received from the client will be replaced by a list of group ids determined by an appropriate lookup on the server. Note that the 'primary' group id is not affected so a newgroup command on the client will still be effective. This function requires a Linux Kernel with version at least 2.6.21.

 

TCP_WRAPPERS SUPPORT

This rpc.mountd version is protected by the tcp_wrapper library. You have to give the clients access to rpc.mountd if they should be allowed to use it. To allow connects from clients of the .bar.com domain you could use the following line in /etc/hosts.allow:

mountd: .bar.com

You have to use the daemon name mountd for the daemon name (even if the binary has a different name). Note: hostnames used in either access file will be ignored when they can not be resolved into IP addresses.

For further information please have a look at the tcpd(8) and hosts_access(5) manual pages.  

SEE ALSO

rpc.nfsd(8), exportfs(8), exports(5), rpc.rquotad(8).  

FILES

/etc/exports, /var/lib/nfs/xtab.  

AUTHOR

Olaf Kirch, H. J. Lu, G. Allan Morris III, and a host of others.