无论您是在工作站,专用服务器还是Raspberry Pi上运行文件,都有很多原因使您想要在网络上的计算机之间共享文件,并且Debian成为了完美的文件服务器。由于NFS功能来自内核,因此所有内容的设置和集成都非常简单。
在本教程中,您将学习:
- 如何安装NFS软件包
- 如何配置您的共享
- 如何连接到共享
使用的软件要求和约定
类别 | 使用的要求,约定或软件版本 |
---|---|
系统 | Debian 10克星 |
软件 | NFS服务器 |
其他 | 以root身份或通过Linux特权访问Linux系统sudo 命令。 |
约定 | #-要求linux命令可以直接以root用户身份或通过使用root特权以root特权执行sudo 命令$-要求linux命令以普通非特权用户身份执行 |
安装NFS软件包
NFS在Debian上安装非常简单。它已连接到内核,并且是一个通用软件包。您可以从主存储库安装所需的一切。
$ sudo apt install nfs-kernel-server
配置您的共享
首先创建要共享的目录,或者选择一个现有目录。确保您选择的目录没有root-only权限。
接下来,打开/etc/exports
使用您最喜欢的文本编辑器。这是您用来设置共享的文件。在这里,您可以配置要共享的目录以及谁可以访问它们。您还可以为共享设置特定的权限,以进一步限制访问。
在文件中,每个共享都有自己的行。该行从共享在服务器计算机上的位置开始。除此之外,您可以列出接受的客户端的主机名(如果在服务器的主机文件中可用),IP或IP范围。将共享规则直接放在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)
在那种情况下,每台计算机都可以查看和读取共享,但只有位于192.168.1.112
可以写。
您可以选择很多其他选项,以配置服务器处理每个来宾共享的方式。这是可用功能的完整细分:
- RO:指定目录只能以只读方式挂载
- w:授予目录的读写权限
- no_root_squash:是一个非常危险的选项,它允许远程“root”用户与主机的“root”用户具有相同的特权
- subtree_check:指定在导出目录而不是整个文件系统的情况下,主机应验证主机文件系统上文件和目录的位置
- no_subtree_check:指定主机不应检查通过主机文件系统访问的文件的位置
- 同步:这只是确保主机同步上传到共享目录的所有更改
- 异步的:忽略同步检查以提高速度
一切设置完毕后,保存并退出文件。然后,重新启动服务器以加载新的exports
组态。
$ sudo systemctl restart nfs-kernel-server
连接到共享
现在,可以从您在配置中配置的客户端计算机上访问共享exports
。假设您的客户端基于Ubuntu或Debian,则可以安装所需的软件包以进行连接:
$ sudo apt install nfs-common
这样,您就可以挂载NFS共享。因此,要进行尝试,请选择要挂载的目录,然后运行mount
命令以root特权安装网络共享。
$ sudo mount -t nfs4 192.168.1.110:/media/nfs /media/share
如果安装成功,您将可以在安装共享文件的目录中访问共享文件。
要获得更永久的解决方案,您可以将共享添加到客户的/etc/fstab
文件。整体语法看起来很像刚用来挂载共享的命令。从网络上共享的位置开始。然后,在其中安装共享。这里的文件系统类型是nfs4。选项由您决定,但是对于不敏感的共享,使用默认值并允许用户访问是很常见的。最终结果应类似于以下示例。
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
。
$ sudo mount -a
您的共享应该完全安装在您指定的位置。
结论
现在,您的Debian服务器已准备就绪,可以开始提供文件了,并且设置其余客户端计算机应该没有任何问题。请记住,NFS的安全性不高,因此,如果您选择共享任何更敏感的内容,则将需要其他方法来限制对文件的访问。