blob: e59a559141e8921b22df6f8824722fef4aafba60 [file] [log] [blame]
.\"@(#)rpc.mountd.8"
.\"
.\" Copyright (C) 1999 Olaf Kirch <okir@monad.swb.de>
.\" Modified by Paul Clements, 2004.
.\"
.TH rpc.mountd 8 "31 Dec 2009"
.SH NAME
rpc.mountd \- NFS mount daemon
.SH SYNOPSIS
.BI "/usr/sbin/rpc.mountd [" options "]"
.SH DESCRIPTION
The
.B rpc.mountd
daemon implements the server side of the NFS MOUNT protocol,
an NFS side protocol used by NFS version 2 [RFC1094] and NFS version 3 [RFC1813].
.PP
An NFS server maintains a table of local physical file systems
that are accessible to NFS clients.
Each file system in this table is referred to as an
.IR "exported file system" ,
or
.IR export ,
for short.
.PP
Each file system in the export table has an access control list.
.B rpc.mountd
uses these access control lists to determine
whether an NFS client is permitted to access a given file system.
For details on how to manage your NFS server's export table, see the
.BR exports (5)
and
.BR exportfs (8)
man pages.
.SS Mounting exported NFS File Systems
The NFS MOUNT protocol has several procedures.
The most important of these are
MNT (mount an export) and
UMNT (unmount an export).
.PP
A MNT request has two arguments: an explicit argument that
contains the pathname of the root directory of the export to be mounted,
and an implicit argument that is the sender's IP address.
.PP
When receiving a MNT request from an NFS client,
.B rpc.mountd
checks both the pathname and the sender's IP address against its export table.
If the sender is permitted to access the requested export,
.B rpc.mountd
returns an NFS file handle for the export's root directory to the client.
The client can then use the root file handle and NFS LOOKUP requests
to navigate the directory structure of the export.
.SS The rmtab File
The
.B rpc.mountd
daemon registers every successful MNT request by adding an entry to the
.I /var/lib/nfs/rmtab
file.
When receivng a UMNT request from an NFS client,
.B rpc.mountd
simply removes the matching entry from
.IR /var/lib/nfs/rmtab ,
as long as the access control list for that export allows that sender
to access the export.
.PP
Clients can discover the list of file systems an NFS server is
currently exporting, or the list of other clients that have mounted
its exports, by using the
.BR showmount (8)
command.
.BR showmount (8)
uses other procedures in the NFS MOUNT protocol to report information
about the server's exported file systems.
.PP
Note, however, that there is little to guarantee that the contents of
.I /var/lib/nfs/rmtab
are accurate.
A client may continue accessing an export even after invoking UMNT.
If the client reboots without sending a UMNT request, stale entries
remain for that client in
.IR /var/lib/nfs/rmtab .
.SH OPTIONS
.TP
.B \-d kind " or " \-\-debug kind
Turn on debugging. Valid kinds are: all, auth, call, general and parse.
.TP
.B \-F " or " \-\-foreground
Run in foreground (do not daemonize)
.TP
.B \-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
.BR exports (5)).
By default, export information is read from
.IR /etc/exports .
.TP
.B \-h " or " \-\-help
Display usage message.
.TP
.B \-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.
.TP
.B \-N " or " \-\-no-nfs-version
This option can be used to request that
.B rpc.mountd
do not offer certain versions of NFS. The current version of
.B rpc.mountd
can support both NFS version 2, 3 and 4. If the
either one of these version should not be offered,
.B rpc.mountd
must be invoked with the option
.B "\-\-no-nfs-version <vers>" .
.TP
.B \-n " or " \-\-no-tcp
Don't advertise TCP for mount.
.TP
.B \-P
Ignored (compatibility with unfsd??).
.TP
.B \-p " or " \-\-port num
Specifies the port number used for RPC listener sockets.
If this option is not specified,
.B rpc.mountd
will try to consult
.IR /etc/services ,
if gets port succeed, set the same port for all listener socket,
otherwise chooses a random ephemeral port for each listener socket.
.IP
This option can be used to fix the port value of
.BR rpc.mountd 's
listeners when NFS MOUNT requests must traverse a firewall
between clients and servers.
.TP
.B \-H " or " \-\-ha-callout prog
Specify a high availability callout program.
This program receives callouts for all MOUNT and UNMOUNT requests.
This allows
.B rpc.mountd
to be used in a High Availability NFS (HA-NFS) environment.
.IP
The callout program is run with 4 arguments.
The first is
.B mount
or
.B 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.
.IP
This callout is not needed with 2.6 and later kernels.
Instead, mount the nfsd filesystem on
.IR /proc/fs/nfsd .
.TP
.BI "\-s," "" " \-\-state\-directory\-path " directory
Specify a directory in which to place statd state information.
If this option is not specified the default of
.I /var/lib/nfs
is used.
.TP
.BI "\-r," "" " \-\-reverse\-lookup"
.B rpc.mountd
tracks IP addresses in the
.I rmtab
file. When a DUMP request is made (by
someone running
.BR "showmount -a" ,
for instance), it returns IP addresses instead
of hostnames by default. This option causes
.B rpc.mountd
to perform 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.
.TP
.BR "\-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.
.TP
.B \-u " or " \-\-no-udp
Don't advertise UDP for mounting
.TP
.B \-V " or " \-\-nfs-version
This option can be used to request that
.B rpc.mountd
offer certain versions of NFS. The current version of
.B rpc.mountd
can support both NFS version 2 and the newer version 3.
.TP
.B \-v " or " \-\-version
Print the version of
.B rpc.mountd
and exit.
.TP
.B \-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
.B \-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
.B newgroup
command on the client will still be effective. This function requires
a Linux Kernel with version at least 2.6.21.
.SH TCP_WRAPPERS SUPPORT
You can protect your
.B rpc.mountd
listeners using the
.B tcp_wrapper
library or
.BR iptables (8).
.PP
Note that the
.B tcp_wrapper
library supports only IPv4 networking.
.PP
Add the hostnames of NFS peers that are allowed to access
.B rpc.mountd
to
.IR /etc/hosts.allow .
Use the daemon name
.B mountd
even if the
.B rpc.mountd
binary has a different name.
.PP
Hostnames used in either access file will be ignored when
they can not be resolved into IP addresses.
For further information see the
.BR tcpd (8)
and
.BR hosts_access (5)
man pages.
.SS IPv6 and TI-RPC support
TI-RPC is a pre-requisite for supporting NFS on IPv6.
If TI-RPC support is built into
.BR rpc.mountd ,
it attempts to start listeners on network transports marked 'visible' in
.IR /etc/netconfig .
As long as at least one network transport listener starts successfully,
.B rpc.mountd
will operate.
.SH FILES
.TP 2.5i
.I /etc/exports
input file for
.BR exportfs ,
listing exports, export options, and access control lists
.TP 2.5i
.I /var/lib/nfs/rmtab
table of clients accessing server's exports
.SH SEE ALSO
.BR exportfs (8),
.BR exports (5),
.BR showmount (8),
.BR rpc.nfsd (8),
.BR rpc.rquotad (8),
.BR nfs (5),
.BR tcpd (8),
.BR hosts_access (5),
.BR iptables (8),
.BR netconfig (5)
.sp
RFC 1094 - "NFS: Network File System Protocol Specification"
.br
RFC 1813 - "NFS Version 3 Protocol Specification"
.SH AUTHOR
Olaf Kirch, H. J. Lu, G. Allan Morris III, and a host of others.