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  versions  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 usually 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 <okir@monad.swb.de>
       Neil Brown <neilb@cse.unsw.edu.au>

                               31 December 2009                    exportfs(8)