NFS 隐藏/导出路径

NFS 隐藏/导出路径

我如何在 ServerA 上共享 FolderA 以便我的客户端可以简单地作为 ServerA:/FolderA 访问它(如果 FolderA 不在 / 中)?

假设 FolderA 实际上是

/usr/local/test/RandomName

我可以使用 fstab 中的 bind 来缩短它并将其放入 /export

/usr/local/test/RandomName /export/FolderA none bind 0 0

现在我可以将其安装为

mount -t nfs ServerA:/export/FolderA /media/folderA

我真正想要的是

mount -t nfs ServerA:/FolderA /media/folderA

服务器是 Ubuntu 10.04,客户端包括 Mac 和 Linux 机器

答案1

您必须在 NFS 导出中设置基本目录。要执行此操作并创建/export基本目录,您应该打开文件

/etc/exports

并在第一行输入以下内容:

/export  the.IP.of.THEclientsyouwant(ro,fsid=0)

设置选项 fsid=0(或 fsid=root)后,您将不会在客户端调用完整路径,然后命令

mount -t nfs ServerA:/FolderA /media/folderA

就能按照你希望的方式工作。

exports(5) 手册页 /etc/exports 配置 - Red Hat

答案2

我不确定您是否可以在服务器的 fstab 中使用 bind 来执行此操作。但我知道您可以这样做:

ln -s /usr/local/test/RandomName /FolderA

配置您的 /etc/exports 文件以导出 /FolderA,这样就好了。

答案3

鞋底fsid=0对我来说不合适。

nfs-utils>=2.4.1 得到Add the "[exports] rootdir" option to nfs.conf特写(2019 年 5 月 28 日):

以下补丁集在 /etc/nfs.conf 中的“[exports]”部分中添加了对 nfsd 的“rootdir”配置选项的支持。

如果用户将此选项设置为有效的目录路径,则 nfsd 将表现得像被限制在基于该目录的 chroot jail 中一样。 /etc/exports 和 exportfs 实用程序中的所有路径都将相对于该目录进行解析。

类似这样的事情应该可以工作:

注意:我无法使导出/根路径起作用,但通过子目录导出可以做到。

目标目录绑定到/export/nfs/FolderA

/etc/nfs.conf

[exports]
rootdir=/export

/etc/exports

/nfs (fsid=0) # workaround for `/` path
/nfs/FolderA

访问它nfs://server_name/nfs/FolderA

答案4

在 NFS 服务器上打开以下文件:

/etc/exports

并输入以下详细信息:

/usr/local/test/RandomName XX.XX.XX.XX(rw)

然后登录 NFS 客户端并执行如下挂载:

mount -t nfs YY.YY.YY.YY:/usr/local/test/RandomName /media/folderA

Fstab 条目:

YY.YY.YY.YY:/usr/local/test/RandomName /media/folderA nfs defaults 0 0

笔记:

XX.XX.XX.XX - IP of NFS client
YY.YY.YY.YY - IP of NFS server

相关内容