我在我的网络中共享了各种文件夹。其中一些文件夹用于存放需要从LAN(局域网)上的每台机器访问的较小文件,而其他文件夹则倾向于用于存放较大的文件(如视频)。但是,对于那些较小的文件(例如备份副本),我使用Samba,因为它灵活且易于使用。对于较大的文件,我通常使用NFS。
NFS代表网络文件系统,是一个用于跨网络共享文件夹的简单系统。除了灵活性之外,Samba比NFS更容易使用,这就是为什么这么多人选择采用这种方式的原因。但是,当您需要将较大的文件保存到网络共享中时,NFS是一个不错的选择。
我想向您展示如何使用Linux在您的网络上设置NFS共享。
您所需要的:您只需要一个正在运行的Linux实例(我将在基于ubuntu的Pop!_OS上进行演示)、一个具有sudo权限的用户和一个家庭网络。
登录到您的Linux机器,打开终端窗口,并准备运行命令。如果你选择的发行版是Ubuntu,该命令将是:
安装nfs-kernel-server
如果机器是基于fedora的,命令将是:
安装libfsidmap - sssd-nfs-idmap - nfs-utils -y
如果是基于arch的机器,命令为:
sudo pacman -S nfs-utils
我们已经在Fedora和Arch上安装了客户端包,我们必须在Ubuntu上做同样的事情。这个命令是:
Sudo apt-get install nfs-common -y
接下来,我们将创建一个目录来存放NFS共享的文件。你可以把它放在任何你喜欢的地方,但是我们要用下面的命令把它添加到根目录:
执行mkdir /share命令
创建了共享文件夹后,是时候用命令赋予它所需的权限了:
sudo chmod -R 777 /share
下一步是定义新的共享。为此,您需要知道访问共享的机器的IP地址。掌握了这些信息之后,让我们定义共享。
使用命令打开配置文件:
Sudo nano /etc/exports
在exports文件中添加如下内容:
/分享地址(rw)
其中ADDRESS是将访问NFS共享的客户机的IP地址。rw意味着客户端将拥有对共享的读写访问权限。
然后,您需要打开服务器上的防火墙。如果服务器是基于Arch或fedora的机器,则命令如下:
Sudo firewall-cmd——permanent——zone=public——add-service=nfs
如果机器是基于Ubuntu的,打开防火墙的命令是:
Sudo ufw允许从192.168.1.0/24到任何端口NFS
现在可以启动NFS服务了。同样的命令可以在Arch、Fedora和Ubuntu系统上使用。这个命令是:
执行命令systemctl——enable now nfs-server
服务器应该已经启动,现在可以进行连接了。
与Samba不同,共享不会自动对您的网络可见。相反,您需要从其他Linux机器挂载它。下面是如何做到这一点。
假设您的NFS服务器的IP地址是192.168.1.176,共享是/share。要将其挂载到客户机上,首先需要创建一个文件夹,以便为其挂载共享。在您的客户端机器上,发出以下命令:
Nano mkdir ~/nfs_mount
接下来,用下面的命令打开fstab文件:
Sudo nano /etc/fstab
在文件的底部,添加以下行:
192.168.1.176:/share /home/ user /nfs_mount nfs rw 0 0
其中USER是您的Linux用户名。
保存并关闭该文件。使用以下命令验证配置:
Sudo mount -a
您应该在输出中看不到任何错误。
现在,可以从~/nfs_mount目录在Linux机器上访问NFS共享。共享中的任何文件都将可用,添加到~/nfs_mount(在客户端上)的任何文件都将出现在服务器的/share目录中。因为我们在/etc/fstab中添加了mount命令,所以共享将自动挂载,即使在重新启动之后也是如此。