Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Apr 2024 22:31:44 GMT
From:      Mark Johnston <markj@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 9d975e47d5a3 - main - exports.5: Clarify that exported dirs should be local mount points
Message-ID:  <202404162231.43GMViid076380@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=9d975e47d5a3638d4f575b2cf97e07bf22b53c7e

commit 9d975e47d5a3638d4f575b2cf97e07bf22b53c7e
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2024-04-16 22:25:57 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2024-04-16 22:27:02 +0000

    exports.5: Clarify that exported dirs should be local mount points
    
    If not, then in general the entire filesystem containing the exported
    directory is accessiable.  This may be surprising, so try to make it
    more clear.
    
    Reviewed by:    rmacklem, emaste
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D44614
---
 usr.sbin/mountd/exports.5 | 28 ++++++++++++++++++++++++----
 1 file changed, 24 insertions(+), 4 deletions(-)

diff --git a/usr.sbin/mountd/exports.5 b/usr.sbin/mountd/exports.5
index a94b5348b572..ee3e9a89f114 100644
--- a/usr.sbin/mountd/exports.5
+++ b/usr.sbin/mountd/exports.5
@@ -25,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd April 7, 2024
+.Dd April 16, 2024
 .Dt EXPORTS 5
 .Os
 .Sh NAME
@@ -55,8 +55,8 @@ file system or the NFSv4 tree root for one or more hosts.
 A long line may be split over several lines by ending all but the
 last line with a backslash
 .Pq Ql \e .
-A host may be specified only once for each local file or the NFSv4 tree root on the
-server and there may be only one default entry for each server
+A host may be specified only once for each local file system or the NFSv4 tree
+root on the server and there may be only one default entry for each server
 file system that applies to all other hosts.
 The latter exports the file system to the
 .Dq world
@@ -66,7 +66,26 @@ be used only when the file system contains public information.
 In a mount entry,
 the first field(s) specify the directory path(s) within a server file system
 that can be mounted on by the corresponding client(s).
-There are three forms of this specification.
+Note well that exporting a directory on the server does not guarantee that only
+files below the exported directory will be accessible.
+This is true even in the absence of the
+.Fl alldirs
+flag.
+To provide this guarantee, the exported directories must be local file system
+mount points on the server.
+For example, if one exports
+.Pa /home ,
+and
+.Pa /home
+is not a file system mount point, then clients will be able to access arbitrary
+files on the root file system.
+As such, to avoid confusion with respect to what is exported, it may be prudent
+to limit exported directories to server local file system mount points.
+When exporting ZFS datasets with the
+.Sy sharenfs
+property, this is auomatically the case.
+.Pp
+There are three forms of the directory path specification.
 The first is to list all mount points as absolute
 directory paths separated by whitespace.
 This list of directory paths should be considered an
@@ -597,6 +616,7 @@ afterwards, whereas NFSv3 rejects the mount request.
 .Xr strunvis 3 ,
 .Xr nfsv4 4 ,
 .Xr netgroup 5 ,
+.Xr zfsprops 7 ,
 .Xr mountd 8 ,
 .Xr nfsd 8 ,
 .Xr rpc.tlsservd 8 ,



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202404162231.43GMViid076380>