X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fexportfs%2Fexportfs.man;h=089f75bd9603679890347c9e8b62b78e8aad88e9;hp=4e33f0a0435ae2ec16ed025b9b833a28b8c04275;hb=c18e9a780f376b868e62b75abe64b0fd9915ada5;hpb=371ca25167a217d647971384c37aa3fcee8a4aef diff --git a/utils/exportfs/exportfs.man b/utils/exportfs/exportfs.man index 4e33f0a..089f75b 100644 --- a/utils/exportfs/exportfs.man +++ b/utils/exportfs/exportfs.man @@ -1,11 +1,11 @@ +.\"@(#)exportfs.8" .\" -.\" exportfs(8) -.\" .\" Copyright (C) 1995 Olaf Kirch .\" Modifications 1999-2003 Neil Brown -.TH exportfs 8 "18 July 2003" +.\" +.TH exportfs 8 "31 December 2009" .SH NAME -exportfs \- maintain list of NFS exported file systems +exportfs \- maintain table of exported NFS file systems .SH SYNOPSIS .BI "/usr/sbin/exportfs [-avi] [-o " "options,.." "] [" "client:/path" " ..] .br @@ -18,210 +18,236 @@ exportfs \- maintain list of NFS exported file systems .BI "/usr/sbin/exportfs -f" .br .SH 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 +.IR "exported file system" , +or +.IR export , +for short. +.PP The .B exportfs -command is used to maintain the current table of exported file systems for -NFS. This list is kept in a separate file named -.BR /var/lib/nfs/xtab -which is read by -.B mountd -when a remote host requests access to mount a file tree, and parts of -the list which are active are kept in the kernel's export table. -.P -Normally this -.B xtab -file is initialized with the list of all file systems named in -.B /etc/exports +command maintains the current table of exports for the NFS server. +The master export table is kept in a file named +.IR /var/lib/nfs/etab . +This file is read by +.B rpc.mountd +when a client sends an NFS MOUNT request. +.PP +Normally the master export table is initialized with the contents of +.I /etc/exports by invoking .BR "exportfs -a" . -.P -However, administrators can choose to add and delete individual file systems -without modifying -.B /etc/exports -using -.BR exportfs . -.P +However, a system administrator can choose to add or delete +exports without modifying +.I /etc/exports +by using the .B exportfs -and it's partner program -.B mountd -work in one of two modes, a legacy mode which applies to 2.4 and +command. +.PP +.B exportfs +and its partner program +.B 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 +2.6 and later versions, providing the .B nfsd virtual filesystem has been mounted at -.B /proc/fs/nfsd +.I /proc/fs/nfsd or -.BR /proc/fs/nfs . -If this filesystem is not mounted in 2.6, the legacy mode is used. -.P +.IR /proc/fs/nfs . +On 2.6 kernels, if this filesystem is not mounted, the legacy mode is used. +.PP In the new mode, .B exportfs -does not give any information to the kernel but only provides it to -.B mountd +does not give any information to the kernel, but provides it only to +.B rpc.mountd through the -.B /var/lib/nfs/xtab +.I /var/lib/nfs/etab file. -.B mountd -will listen to requests from the kernel and will provide information -as needed. -.P +.B rpc.mountd +then manages kernel requests for information about exports, as needed. +.PP In the legacy mode, -any export requests which identify a specific host (rather than a -subnet or netgroup etc) are entered directly into the kernel's export -table as well as being written to -.BR /var/lib/nfs/xtab . -Further, any mount points listed in -.B /var/lib/nfs/rmtab +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 +.IR /var/lib/nfs/etab . +Further, exports listed in +.I /var/lib/nfs/rmtab which match a non host-specific export request will cause an appropriate export entry for the host given in -.B rmtab -to be entered -into the kernel's export table. +.I rmtab +to be added to the kernel's export table. .SH OPTIONS -.TP +.TP .B -a Export or unexport all directories. .TP .BI "-o " options,... Specify a list of export options in the same manner as in -.BR exports(5) . +.BR exports (5). .TP .B -i Ignore the -.B /etc/exports -file, so that only default options and options given on the command -line are used. +.I /etc/exports +file. Only default options and options given on the command line are used. .TP .B -r -Reexport all directories. It synchronizes /var/lib/nfs/xtab -with /etc/exports. It removes entries in /var/lib/nfs/xtab -which are deleted from /etc/exports, and remove any entries from the +Reexport all directories, synchronizing +.I /var/lib/nfs/etab +with +.IR /etc/exports . +This option removes entries in +.I /var/lib/nfs/etab +which have been deleted from +.I /etc/exports, and removes any entries from the kernel export table which are no longer valid. .TP .B -u Unexport one or more directories. .TP .B -f -In 'new' mode, flush everything out of the kernels export table. Any -clients that are active will get new entries added by -.B mountd -when they make their next request. +If +.I /proc/fs/nfsd +or +.I /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 +.B rpc.mountd +when they make their next NFS mount request. .TP .B -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. .SH DISCUSSION -.\" -------------------- Exporting Directories -------------------- .SS Exporting Directories -The first synopsis shows how to invoke the command when adding new -entries to the export table. When using +The first synopsis shows how to invoke +.B exportfs +when adding new entries to the export table. When using .BR "exportfs -a" , -all directories in -.B exports(5) +all exports listed in +.I /etc/exports are added to -.B xtab -and the resulting list is pushed into the kernel. -.P +.IR /var/lib/nfs/etab . +The kernel's export table is also updated as needed. +.PP The .I host:/path -argument specifies the directory to export along with the host or hosts to -export it to. All formats described in +argument specifies a local directory to export, +along with the client or clients who are permitted to access it. +See .B exports(5) -are supported; to export a directory to the world, simply specify +for a description of supported options and access list formats. +To export a directory to the world, simply specify .IR :/path . -.P +.PP The export options for a particular host/directory pair derive from -several sources. There is a set of default options which can be overridden by -entries in -.B /etc/exports -(unless the -.B -i -option is given). -In addition, the administrator may overide any options from these sources -using the +several sources. +The default export options are +.BR sync,ro,root_squash,wdelay . +These can be overridden by entries in +.IR /etc/exports . +.PP +A system administrator may override options from these sources using the .B -o -argument which takes a comma-separated list of options in the same fashion +command-line option on +.BR exportfs . +This option takes a comma-separated list of options in the same fashion as one would specify them in -.BR exports(5) . -Thus, +.IR /etc/exports . +In this way .B exportfs -can also be used to modify the export options of an already exported -directory. -.P -Modifications of the kernel export table used by -.B nfsd(8) -take place immediately after parsing the command line and updating the -.B xtab -file. -.P -The default export options are -.BR sync,ro,root_squash,wdelay . -.\" -------------------- Unexporting Directories ------------------ +can be used to modify the export options of an already exported directory. .SS Unexporting Directories The third synopsis shows how to unexported a currently exported directory. When using .BR "exportfs -ua" , all entries listed in -.B xtab +.I /var/lib/nfs/etab are removed from the kernel export tables, and the file is cleared. This effectively shuts down all NFS activity. -.P -To remove individial export entries, one can specify a +.PP +To remove an export, specify a .I host:/path pair. This deletes the specified entry from -.B xtab +.I /var/lib/nfs/etab and removes the corresponding kernel entry (if any). -.P -.\" -------------------- Dumping the Export Table ----------------- -.SS Dumping the Export Table +.PP +.SS Dumping the Export Table Invoking .B exportfs -without further options shows the current list of exported file systems. -When giving the +without options shows the current list of exported file systems. +Adding the .B -v -option, the list of flags pertaining to each export are shown in addition. -.\" -------------------- EXAMPLES --------------------------------- +option causes +.B exportfs +to display the export options for each export. .SH EXAMPLES The following adds all directories listed in -.B /etc/exports to /var/lib/nfs/xtab +.I /etc/exports +to +.I /var/lib/nfs/etab and pushes the resulting export entries into the kernel: -.P +.PP .nf .B "# exportfs -a .fi -.P +.PP To export the -.B /usr/tmp -directory to host -.BR djando , -allowing asynchronous writes, one would do this: -.P +.I /usr/tmp +directory to host +.BR django , +allowing insecure file locking requests from clients: +.PP +.nf +.B "# exportfs -o insecure_locks django:/usr/tmp +.fi +.PP +To unexport the +.I /usr/tmp +directory: +.PP +.nf +.B "# exportfs -u django:/usr/tmp +.fi +.PP +To unexport all exports listed in +.IR /etc/exports : +.PP .nf -.B "# exportfs -o async django:/usr/tmp +.B "# exportfs -au .fi -.\" -------------------- DEPENDENCIES ----------------------------- -.SH DEPENDENCIES -Exporting to IP networks, DNS and NIS domains does not enable clients -from these groups to access NFS immediately; rather, these sorts of -exports are hints to -.B mountd(8) +.SH 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 +.BR rpc.mountd (8) to grant any mount requests from these clients. -This is usually not a big problem, because any existing mounts are preserved -in -.B rmtab +This is usually not a problem, because any existing mounts are preserved in +.I rmtab across reboots. -.P +.PP 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 nolonger valid they will be removed. -.P -.\" -------------------- SEE ALSO -------------------------------- +if they themselves are no longer valid they will be removed. +.SH FILES +.TP 2.5i +.I /etc/exports +input file listing exports, export options, and access control lists +.TP 2.5i +.I /var/lib/nfs/etab +master table of exports +.TP 2.5i +.I /var/lib/nfs/rmtab +table of clients accessing server's exports .SH SEE ALSO -.BR exports(5) ", " mountd(8) -.\" -------------------- AUTHOR ---------------------------------- +.BR exports (5), +.BR rpc.mountd (8), +.BR netgroup (5) .SH AUTHORS -Olaf Kirch, +Olaf Kirch .br -Neil Brown, - +Neil Brown