环境条件

两个Ubuntu 16.04的机器,其中一个与另一个共享其文件系统的一部分。

  • Host: 192.168.0.112/24
  • Client: 192.168.0.113/24

下载并安装NFS组件

  • On the Host:
$ sudo apt-get update
$ sudo apt-get install nfs-kernel-server
  • On the Client:
$ sudo apt-get update
$ sudo apt-get install nfs-common

例子1:通用挂载
On the Host:
nfs3
作为安全策略:NFS会把任何来自Client端的root权限的操作翻译成nobody:nogroup,因此,我们需要更改该目录所有权。
nfs4

例子2: 导出/home目录
nfs5

rw:挂接此目录的客户端对该共享目录具有读写权限
sync:资料同步写入内存和硬盘
no_root_squash:客户机用root访问该共享文件夹时,不映射root用户。(root_squash:客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户)
no_subtree_check:不检查父目录的权限

配置完成之后,保存文件并在Host上重启NFS server使配置生效。
nfs6

在Client上创建挂载点

nfs7

在Client上挂载目录

nfs8

测试NFS访问

例子1: 通用挂载
nfs9
由于我们在不更改NFS的默认行为的情况下装载了此卷,并通过sudo命令以客户端的root用户身份创建了该文件,因此该文件的所有权缺省为nobody:nogroup。

例子2: 主目录共享
nfs10
在这种情况下,它由root拥有,因为当我们在这个mount上指定了no_root_squash选项,它覆盖了默认的行为。

在引导时挂载远程NFS目录

nfs11