0%

Debian 搭建 NFS 服务器

转载自: https://blog.csdn.net/allway2/article/details/107546648

安装NFS软件包

NFSDebian 上安装非常简单。它已连接到内核,并且是一个通用软件包。您可以从主存储库安装所需的一切。

1
$ sudo apt install nfs-kernel-server

配置您的共享

首先创建要共享的目录或选择一个现有目录。确保您选择的目录没有仅root用户权限。

接下来,/etc/exports 使用您喜欢的文本编辑器打开。这是您用来设置共享的文件。在这里,您可以配置要共享的目录以及谁可以访问它们。您还可以为共享设置特定权限,以进一步限制访问。

在文件中,每个共享都有自己的行。该行从共享在服务器计算机上的位置开始。除此之外,您可以列出接受的客户端的主机名(如果在服务器的主机文件中可用),IP或IP范围。将共享规则直接放在IP地址后面的一组括号中。总共应该看起来像这样:

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

您可以根据需要添加任意数量的共享,前提是每个共享都有自己的行。您还可以在每一行中包含多个主机名或IP,并为它们分配不同的权限。例如:

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

在这种情况下,每台计算机都可以查看共享并从中读取内容,但是只有 192.168.1.112 该处的计算机可以对其进行写入。

您可以选择很多其他选项,以配置服务器处理每个来宾共享的方式。这是可用功能的完整细分:

  • ro:指定目录只能以只读方式挂载
  • rw:授予对目录的读写权限
  • no_root_squash:这是一个非常危险的选项,它允许远程 root 用户与主机的 root 用户享有相同的特权
  • subtree_check:指定在导出目录而不是整个文件系统的情况下,主机应验证主机文件系统上文件和目录的位置
  • no_subtree_check:指定主机不应检查通过主机文件系统访问的文件的位置
  • sync:这只是确保主机使上传到共享目录的所有更改保持同步
  • async:忽略同步检查以提高速度 完成所需设置后,保存并退出文件。然后,重新启动服务器以加载您的新exports配置。
1
$ sudo systemctl restart nfs-kernel-server

连接到共享

现在可以从在中配置的客户端计算机访问共享 exports。假设您的客户端基于 UbuntuDebian,则可以安装所需的软件包以进行连接:

1
$ sudo apt install nfs-common

这样,您就可以挂载NFS共享。因此,要进行尝试,请选择要安装的目录,然后 mountroot 特权运行命令以安装网络共享。

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

如果安装成功,您将可以在安装共享文件的目录中访问共享文件。

要获得更永久的解决方案,可以将共享添加到客户的 /etc/fstab 文件中。整体语法看起来很像刚用来挂载共享的命令。从网络上共享的位置开始。然后,在其中安装共享。这里的文件系统类型是 nfs4。选项由您决定,但是对于不敏感的共享,使用默认设置并允许用户访问是很常见的。最终结果应类似于以下示例。

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

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

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

尝试使用安装在客户端上/etc/fstab。

1
$ sudo mount -a

您的共享应该完全安装在您指定的位置。

结论

现在,您的 Debian 服务器已准备就绪,可以开始提供文件了,并且设置其余客户端计算机应该没有任何问题。请记住,NFS的安全性不高,因此,如果您选择共享任何更敏感的内容,则将需要其他方法来限制对文件的访问。

  • 本文作者: 6x
  • 本文链接: https://6xyun.cn/article/146
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-ND 许可协议。转载请注明出处!