/* Void Main's man pages */
{ phpMan } else { main(); }
exportfs(8) exportfs(8)
NAME
exportfs - maintain table of exported NFS file systems
SYNOPSIS
/usr/sbin/exportfs [-avi] [-o options,..] [client:/path ..]
/usr/sbin/exportfs -r [-v]
/usr/sbin/exportfs [-av] -u [client:/path ..]
/usr/sbin/exportfs [-v]
/usr/sbin/exportfs -f
DESCRIPTION
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 exported file system, or export, for short.
The exportfs command maintains the current table of exports for the NFS server. The master export table is kept in a
file named /var/lib/nfs/etab. This file is read by rpc.mountd when a client sends an NFS MOUNT request.
Normally the master export table is initialized with the contents of /etc/exports by invoking exportfs -a. However, a
system administrator can choose to add or delete exports without modifying /etc/exports by using the exportfs command.
exportfs and its partner program rpc.mountd work in one of two modes: a legacy mode which applies to 2.4 and earlier ver-
sions of the Linux kernel, and a new mode which applies to 2.6 and later versions, providing the nfsd virtual filesystem
has been mounted at /proc/fs/nfsd or /proc/fs/nfs. On 2.6 kernels, if this filesystem is not mounted, the legacy mode is
used.
In the new mode, exportfs does not give any information to the kernel, but provides it only to rpc.mountd through the
/var/lib/nfs/etab file. rpc.mountd then manages kernel requests for information about exports, as needed.
In the legacy mode, exports which identify a specific host, rather than a subnet or netgroup, are entered directly into
the kernel's export table, as well as being written to /var/lib/nfs/etab. Further, exports listed in /var/lib/nfs/rmtab
which match a non host-specific export request will cause an appropriate export entry for the host given in rmtab to be
added to the kernel's export table.
OPTIONS
-a Export or unexport all directories.
-o options,...
Specify a list of export options in the same manner as in exports(5).
-i Ignore the /etc/exports file. Only default options and options given on the command line are used.
-r Reexport all directories, synchronizing /var/lib/nfs/etab with /etc/exports. This option removes entries in
/var/lib/nfs/etab which have been deleted from /etc/exports, and removes any entries from the kernel export table
which are no longer valid.
-u Unexport one or more directories.
-f If /proc/fs/nfsd or /proc/fs/nfs is mounted, flush everything out of the kernel's export table. Fresh entries for
active clients are added to the kernel's export table by rpc.mountd when they make their next NFS mount request.
-v Be verbose. When exporting or unexporting, show what's going on. When displaying the current export list, also
display the list of export options.
DISCUSSION
Exporting Directories
The first synopsis shows how to invoke exportfs when adding new entries to the export table. When using exportfs -a, all
exports listed in /etc/exports are added to /var/lib/nfs/etab. The kernel's export table is also updated as needed.
The host:/path argument specifies a local directory to export, along with the client or clients who are permitted to
access it. See exports(5) for a description of supported options and access list formats. To export a directory to the
world, simply specify :/path.
The export options for a particular host/directory pair derive from several sources. The default export options are
sync,ro,root_squash,wdelay. These can be overridden by entries in /etc/exports.
A system administrator may override options from these sources using the -o command-line option on exportfs. This option
takes a comma-separated list of options in the same fashion as one would specify them in /etc/exports. In this way
exportfs can be used to modify the export options of an already exported directory.
Unexporting Directories
The third synopsis shows how to unexported a currently exported directory. When using exportfs -ua, all entries listed
in /var/lib/nfs/etab are removed from the kernel export tables, and the file is cleared. This effectively shuts down all
NFS activity.
To remove an export, specify a host:/path pair. This deletes the specified entry from /var/lib/nfs/etab and removes the
corresponding kernel entry (if any).
Dumping the Export Table
Invoking exportfs without options shows the current list of exported file systems. Adding the -v option causes exportfs
to display the export options for each export.
EXAMPLES
The following adds all directories listed in /etc/exports to /var/lib/nfs/etab and pushes the resulting export entries
into the kernel:
# exportfs -a
To export the /usr/tmp directory to host django, allowing insecure file locking requests from clients:
# exportfs -o insecure_locks django:/usr/tmp
To unexport the /usr/tmp directory:
# exportfs -u django:/usr/tmp
To unexport all exports listed in /etc/exports:
# exportfs -au
USAGE NOTES
Exporting to IP networks or DNS and NIS domains does not enable clients from these groups to access NFS immediately.
Rather, these sorts of exports are hints to rpc.mountd(8) to grant any mount requests from these clients. This is usu-
ally not a problem, because any existing mounts are preserved in rmtab across reboots.
When unexporting a network or domain entry, any current exports to members of this group will be checked against the
remaining valid exports and if they themselves are no longer valid they will be removed.
FILES
/etc/exports input file listing exports, export options, and access control lists
/var/lib/nfs/etab master table of exports
/var/lib/nfs/rmtab table of clients accessing server's exports
SEE ALSO
exports(5), rpc.mountd(8), netgroup(5)
AUTHORS
Olaf Kirch <okirATmonad.de>
Neil Brown <neilbATcse.au>
31 December 2009 exportfs(8)

