Linux

NFS 伺服器正在導出錯誤的目錄

  • October 12, 2018

承認有點尷尬,但我無法讓我的 NFS 伺服器導出正確的目錄。我在客戶端和伺服器上都使用最新的 CentOS 6.2。

伺服器已啟動並執行,防火牆在測試期間被禁用。

在伺服器端,我創建了這個/etc/exports

/home/user1/documents/   *(ro,sync)

該目錄是軟體raid 卷的根目錄。mount輸出如下:

/dev/mapper/lvm--raid-lvol0 on /home/user1/documents type ext4 (rw,nosuid,nodev)

伺服器上的命令showmount -e顯示正確的輸出:

Export list for servername:
/home/user1/documents (everyone)

我嘗試從客戶端掛載該共享並獲得以下輸出:

mount.nfs: access denied by server while mounting servername:/home/user1/documents

但是,當我在伺服器上查看文件時,/proc/fs/nfsd/exports我看到了多個掛載點,但不是正確的

# Version 1.2
# Path Client(Flags) # IPs
/       *(ro,root_squash,sync,no_wdelay,no_subtree_check,v4root,fsid=0,uuid=696f3ea6:3d7641f3:b6315631:bd63c833)
/home   *(ro,root_squash,sync,no_wdelay,no_subtree_check,v4root,uuid=696f3ea6:3d7641f3:b6315631:bd63c833)
/home/user1     *(ro,root_squash,sync,no_wdelay,no_subtree_check,v4root,uuid=696f3ea6:3d7641f3:b6315631:bd63c833)

這些條目來自哪裡,為什麼沒有以 開頭的行/home/user1/documents?我嘗試安裝/home/user1而不是/home/user1/documents從客戶端安裝,這很奇怪。

使用者的 UID 在伺服器和客戶端上是相同的。要導出的目錄是自己掛載的,會不會有問題?

編輯

該文件/var/lib/nfs/xtab為空。

我看到您正在使用 NFSv4(/proc/fs/nfsd/exports 輸出中的 fsid=0 將其洩露)。NFSv4 需要 NFS 根。這個 /etc/exports 可能會讓你有更好的運氣。

/home                    *(ro,fsid=0)
/home/user1/documents/   *(ro,sync)

您可能還需要在 /etc/idmapd.conf 中為伺服器和客戶端編輯域。

附帶說明一下,如果您不希望不受信任的系統可以訪問您的數據,我強烈建議您用子網替換該星號。

我有一個問題:

/my/dir1 *(rw,sync,fsid=0,crossmnt,no_subtree_check)
/my/dir2 *(rw,sync,fsid=0,crossmnt,no_subtree_check)

並且兩個 mount 都出現了/my/dir1

我試圖使用與 Ubuntu 16.04nfs-kernel-server/etc/exports範例文件中給出的相同的預設選項:https ://unix.stackexchange.com/questions/198009/what-provides-etc-exports-and-how-do-i-find -那個-出

解決方案是刪除fsid=0,crossmnt並使用:

/my/dir1 *(rw,sync,no_subtree_check)
/my/dir2 *(rw,sync,no_subtree_check)

這也在:https ://forums.opensuse.org/showthread.php/481263-NFS-directs-to-the-wrong-shared-folder/page2?s=ae345ec054b854b5cf036cd1816626f4

我真的不知道所有這些都是做什麼的,有一天我會學習 NFS。也許。

引用自:https://serverfault.com/questions/384567