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 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.