NFS(Network File System,網絡文件系統)的共享配置項,用於定義服務器上的目錄如何被客户端訪問。我會逐部分拆解這個配置的含義,讓你清晰理解每個參數的作用。

一、配置項整體結構

/shared/data 192.168.42.0/24(rw,sync,no_root_squash)

這個配置分為三個核心部分

  1. 共享目錄/shared/data(NFS 服務器上要共享的本地目錄)
  2. 授權客户端範圍192.168.42.0/24(允許訪問該共享的客户端 IP 段)
  3. 訪問權限參數(rw,sync,no_root_squash)(客户端訪問該共享的具體規則)

二、逐部分詳細解釋

1. 共享目錄:/shared/data

這是 NFS 服務器上的本地絕對路徑,表示服務器將這個目錄共享給授權的客户端。客户端掛載後,就可以像訪問本地目錄一樣操作這個路徑下的文件。

  • 注意:該目錄必須提前在 NFS 服務器上創建,且 NFS 服務進程(如 nfs-server)對該目錄有讀寫權限。

2. 授權客户端範圍:192.168.42.0/24

這是允許訪問該共享的客户端地址限制,這裏表示:

  • 192.168.42.0/24:整個 192.168.42 網段的所有主機(從 192.168.42.1 到 192.168.42.254)都可以掛載這個共享目錄。
  • 常見的客户端範圍寫法還有:
    • 單個 IP:192.168.42.10(僅允許這台主機訪問)
    • 主機名:client01(需 DNS 解析或 /etc/hosts 配置)
    • 所有主機:*(不推薦,安全性低,允許任何客户端訪問)

3. 訪問權限參數:(rw,sync,no_root_squash)

這是括號內的參數是 NFS 共享的核心規則,多個參數用逗號分隔,以下是每個參數的含義:

參數 全稱 含義 作用/注意事項
rw Read/Write 讀寫權限 客户端可以對共享目錄進行讀、寫、修改、刪除等操作(對應 ro 是隻讀權限)
sync Synchronous 同步寫入 客户端對共享目錄的寫操作,會立即同步到 NFS 服務器的磁盤後才返回成功,保證數據一致性(但性能略低)
no_root_squash No Root Squash 不壓縮 root 權限 客户端的 root 用户訪問共享目錄時,保留 root 權限(即客户端 root 可以操作共享目錄中的所有文件,風險較高)
補充:常見的其他參數(拓展)
  • ro:只讀權限(客户端只能看,不能改),與 rw 互斥。
  • async:異步寫入(客户端寫操作先寫入內存,再由服務器異步刷到磁盤,性能高但可能丟失數據),與 sync 互斥。
  • root_squash(默認值):壓縮 root 權限,客户端的 root 用户會被映射為 NFS 服務器的 nfsnobody 普通用户(提高安全性)。
  • all_squash:所有客户端用户都被映射為 nfsnobody(適用於公共共享目錄)。
  • anonuid/anongid:指定映射的普通用户 UID/GID(如 anonuid=1000,anongid=1000)。

三、配置文件位置與生效方式

1. 配置文件位置

這行配置需要寫入 NFS 服務器的主配置文件/etc/exports(該文件默認是空的,需手動添加)。

2. 生效命令

添加配置後,需要執行以下命令讓配置生效(無需重啓 NFS 服務):

# 重新加載 exports 配置(推薦)
exportfs -rv

# 或重啓 NFS 服務(CentOS/RHEL 7+)
systemctl restart nfs-server

3. 客户端掛載示例

授權的客户端(如 192.168.42.10)可以通過以下命令掛載該共享目錄:

# 創建本地掛載點
mkdir -p /mnt/nfs_data

# 掛載 NFS 共享(假設 NFS 服務器 IP 是 192.168.42.1)
mount -t nfs 192.168.42.1:/shared/data /mnt/nfs_data

掛載後,客户端操作 /mnt/nfs_data 就等同於操作 NFS 服務器的 /shared/data


總結

這行 NFS 配置的核心含義可以概括為:

  1. NFS 服務器將本地目錄 /shared/data 共享出去;
  2. 僅允許 192.168.42.0/24 網段的客户端訪問;
  3. 客户端對該共享擁有讀寫權限,寫操作同步刷盤,且客户端的 root 用户保留最高權限

關鍵點回顧

  • rw 是讀寫權限,sync 保證數據安全但性能略低,no_root_squash 是高權限配置(生產環境需謹慎使用);
  • 配置寫在 /etc/exports 後,需執行 exportfs -rv 生效;
  • 客户端通過 mount -t nfs 命令掛載共享目錄。