rpc.mountd - NFS mount daemon
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
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.
-d kind or --debug kind
Turn on debugging. Valid kinds are: all, auth, call, general and
-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
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.
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:
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.
rpc.nfsd(8), exportfs(8), exports(5), rpc.rquotad(8).
Olaf Kirch, H. J. Lu, G. Allan Morris III, and a host of others.
31 Aug 2004 rpc.mountd(8)