在Ubuntu中安装NFS并使用此协议通过网络共享文件

nfs1

NFS或网络文件系统是分布式文件系统协议最初由Sun Microsystems创建。 通过NFS, 可以允许系统通过网络与其他人共享目录和文件。

在NFS文件共享中,用户甚至程序都可以访问远程系统上的信息,就像它们驻留在本地计算机上一样。

NFS的 在客户端-服务器环境中运行 服务器负责管理客户端的身份验证,授权和管理,以及特定文件系统中的所有共享数据。

授权后,任意数量的客户端都可以访问共享数据,就好像共享数据存在于其内部存储中一样。

在Ubuntu系统上设置NFS服务器非常简单。 您需要做的就是在服务器和客户端计算机上执行一些必要的安装和配置,一切顺利。

在这篇文章中, 我们将逐步说明如何配置NFS服务器和客户端,以使它们可以将文件从一个Ubuntu系统共享到另一个系统。

配置NFS服务器

要配置主机系统以共享目录,我们将需要安装NFS内核服务器,然后创建并导出希望客户端系统访问的目录。

现在 我们将使用Ctrl + Alt + T打开一个终端,并在其中执行以下命令:

sudo apt install nfs-kernel-server -y

安装完成后,现在我们将创建一个我们要与客户端系统共享的文件夹,这将是一个导出文件夹。

在这个例子中 我们将在当前目录中创建该文件夹,但是您可以选择最喜欢的路径。

在终端中,我们将输入:

sudo mkdir -p carpeta-compartida

由于我们希望所有客户端都可以访问目录, 我们将通过以下命令从导出文件夹中删除限制性权限:

sudo chown nobody: nogroup carpeta-compartida

sudo chmod 777 carpeta-compartida

重要的是,如果它在其他路径中,则可以放好它,因为如果只留一个空格,则可以更改系统上目录的权限。

现在,客户端系统上所有组的所有用户将可以访问我们的“共享文件夹”。

现在,您可以在此创建的文件夹中放置所有要共享的内容。

导出共享目录

创建导出文件夹后,我们将需要授予客户端访问主机服务器计算机的权限。

此权限是通过系统上/ etc文件夹中的导出文件定义的。

使用以下命令通过Nano打开此文件:

sudo nano /etc/ exports

打开文件后,可以使用以下命令允许访问它们创建的文件夹:

/ruta/de/la/ carpeta-compartida ip-de-cliente (rw, sync, no_subtree_check)

O 您可以通过在文件中添加以下行来添加多个客户端:

/ruta/de/la/carpeta-compartida ip-de-cliente-1 (rw, sync, no_subtree_check)
/ruta/de/la/carpeta-compartida ip-de-cliente-2 (rw, sync, no_subtree_check)

或者,您可以按如下所示放置IP范围:

/ruta/de/la/carpeta-compartida ip-de-cliente1/24 (rw, sync, no_subtree_check)

此文件中定义的“ rw,sync,no_subtree_check”权限意味着客户端可以执行:

rw:读写操作

同步:在应用更改之前将所有更改写入磁盘

no_subtree_check-防止子树检查

在主机系统上完成所有上述配置之后,现在该导出共享目录了:

sudo exportfs -a

最后, 为了使所有设置生效,请按照以下步骤重新启动NFS内核服务器:

sudo systemctl restart nfs-kernel-server

重要的步骤是验证服务器的防火墙是否对客户端开放,以便客户端可以访问共享内容。

sudo ufw allow from ip/rango to any port nfs

剩下的像这样:

sudo ufw allow from 192.168.1.1/24 to any port nfs

现在,当您通过以下命令检查Ubuntu防火墙的状态时,您将能够看到客户端IP的“操作”状态为“允许”。

sudo ufw status

现在,您的主机服务器已准备好通过NFS内核服务器将共享文件夹导出到指定的客户端。

配置客户端计算机

现在是时候在客户端计算机上进行一些简单的配置,以便可以将主机上的共享文件夹安装在客户端上,然后进行访问而不会出现问题。

对于这 我们将使用以下命令安装NFS客户端:

sudo apt-get install nfs-common

客户端的系统需要一个目录,在该目录中可以在导出文件夹中访问主机服务器共享的所有内容。

您可以在系统上的任何位置创建此文件夹。

sudo mkdir -p carpeta-cliente

现在,您在上一步中创建的文件夹与系统上的任何其他文件夹一样,除非您将共享目录从主机装载到该新创建的文件夹。

使用以下命令将共享文件夹从主机安装到客户端上的安装文件夹:

sudo mount IPdelserivdor:/ruta/de/la/carpeta-compartida /ruta/carpeta-cliente

该命令大致如下:

sudo mount 192.168.1.1:/home/servidor/carpeta-compartida /home/cliente/carpeta-cliente

现在是时候通过从一个或多个客户端计算机转到该文件夹​​并验证共享内容是否存在来测试连接。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   路易斯

    哪种协议传输文件更快? NFS或samba

  2.   路易斯

    哪种协议传输文件更快? NFS或samba

  3.   哈维尔·吉米诺·苏亚雷斯(Javier Jimeno Suarez)

    嗨,路易斯,速度确实取决于您的网络。

    Samba和NFS是两种不同的协议。

    Samba用于共享可以从任何其他系统(Android,Windows,Linux等)访问的文件夹

    NFS是一种协议,该协议以服务器模式安装在要共享文件夹的计算机上,并且作为要在其上挂载它的linux机器上的客户端,就好像它是本地文件系统一样(您可以在每个文件夹中挂载它)会话或在fstab文件中对其进行配置,以便每次启动时都将其挂载)。

    我希望我已经澄清了一些区别。

  4.   彼得

    它给了我一个错误,您还没有输入示例,语法错误。 您留下了错误的空格,所以我不知道错误在哪里。
    这对我没有用。