Linux

為什麼 NFS 不能辨識新的 UID?

  • March 11, 2022

我有兩台執行 RHEL6 的伺服器。我對兩者都有訪問權限。主伺服器,我將稱之為server,是一個數據庫伺服器。應用程序伺服器(我將稱為)通過 NFSclient從掛載目錄。server

appuser在 和上都有一個使用者client, server。但是,appuser的 UIDclient502. appuser的 UIDserver506.

兩個使用者都需要 NFS 共享上的讀寫能力。為了方便起見,我製作了appuseron擁有的份額server

id appuser在每個產量上執行: uid=506(appuser).

當然,client不承認所有權,因為appuser在 上具有不同的 id client。所以我做了以下事情:

  • 將 /etc/passwd 中使用者的 UID 更改client為 506。
  • appuser將’s $HOME 的所有權更改clientappuser再次,以便我可以登錄。

現在,當我從client側面查看 NFS 共享時,我看到它由502. 502appuser客戶端的舊 ID。我無法從 更改 NFS 共享的所有權client,因為那是物理上駐留在 上的捲server

我需要確保 NFS 共享顯示appuser來自server和的所有權client

appuser自從更改客戶端的 ID 後,我錯過了哪一步?

注意:我沒有重新啟動client(或其他任何東西。)

好的!我明白了。多次嘗試後在Bing上找到它。仍然不確定究竟哪個問題解決了問題,有兩種可能性。但他們在這裡。

網際網路上有“告訴”NFS v4 可能存在客戶端所有權權限問題。我不知道這是不是真的,我不在乎。有人有他們稱之為解決方案的東西。所以我按照說明強制客戶端將驅動器掛載為 NFS 版本 3。所以我做的第一件事就是在 /etc/fstab 中更改我的掛載行權限:

rw,hard,intr

對此:

rw,hard,intr,vers=3

另外,我在客戶端上啟動了 nfs 守護程序,只是因為有人說要這樣做:

service nfs start

然後,因為我遵循了一些過時的說明,所以我檢查了portmap服務是否在客戶端上執行:

service portmap status

並受到歡迎:

portmap: unrecognized service

然後我發現portmap現在捲成rpcbind. 所以:

service rpcbind status

我看到了:

rpcbind dead but pid file exists

然後:

[root@myserver customers]# service rpcbind restart
Stopping rpcbind:                                          [FAILED]
Starting rpcbind:                                          [  OK  ]

然後我檢查了 NFS 共享的所有權,它是正確的!

id appuser可能會告訴您 shell 仍然可以看到使用者的舊 UID。註銷並重新登錄。

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