在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.   彼得 他說:

    它給了我一個錯誤,您還沒有輸入示例,語法錯誤。 您留下了錯誤的空格,所以我不知道錯誤在哪裡。
    對我沒用。