如何在Linux上配置NFS

如何安装NFS服务器

安装 NFS服务器包

在Ubuntu,Linux Mint和其他基于Debian的发行版:

$sudo apt install nfs-kernel-server

在Fedora,CentOS,Almalinux和其他基于Rhel的发行版:

$sudo dnf install nfs-utils

确保NFS服务正在运行,并设置在系统引导时自动启动。

$sudo systemctl enable --now nfs-server

创建要nfs共享的目录:

$sudo mkdir -p /media/nfs

编辑配置文件/etc/exports, 配置要共享的目录,访问权限以及可以访问它们的客户端:

$sudo nano /etc/exports

每个共享单独一行,前面是共享目录,后面是可以访问的客户端的IP地址或者范围,括号内是访问权限规则:

/media/nfs		192.168.1.0/24(rw,sync,no_subtree_check)

我们还可以在每行中包含多个主机名或者IP,并为它们分配不同的权限。

/media/nfs		192.168.1.112(rw,sync,no_subtree_check) 192.168.1.121(ro,sync,no_subtree_check)

NFS共享选项说明:

ro–指定只能以只读方式装入目录
rw–授予对目录的读写权限
no_root_squash–是一个极其危险的选项,它允许远程root用户拥有与主机root用户相同的权限
no_subtree_check-指定在导出目录而不是整个文件系统的情况下,主机应验证文件和目录在主机文件系统上的位置
no_subtree_check–指定主机不应检查正在主机文件系统中访问的文件的位置
sync–这只是确保主机同步上传到共享目录的任何更改
async–忽略同步检查以提高速度

文件修改好后,执行“exportfs命令”以加载新的导出配置。

$sudo exportfs -arv
exporting 192.168.1.0/24:/media/nfs

从客户端计算机连接到NFS服务器

安装NFS客户端包

在Ubuntu,Linux Mint和其他基于Debian的发行版:

$sudo apt install nfs-common

在Fedora,CentOS,Almalinux和其他基于Rhel的发行版:

$sudo dnf install nfs-utils

将nfs共享挂载到本地目录:

$sudo mount -t nfs4 192.168.1.110:/media/nfs /media/share

要永久挂载,将下面行添加到/etc/fstab文件中

192.168.1.110:/media/nfs	/media/share	nfs4	defaults,user,exec	0 0

如果您不确定共享是否始终在客户端上可用,请将“noauto”添加到选项列表中,以防止您的系统尝试自动装载它。

192.168.1.110:/media/nfs	/media/share	nfs4	defaults,user,exec,noauto	0 0

编辑/etc/fstab文件后,可以运行以下mount命令马上挂载。

$sudo mount -a
日期:2020-07-07 20:56:13 来源:oir作者:oir