
在一台 rhel 5 linux 伺服器(兩個月前更新)上,正在使用 NFS 掛載兩個 NAS。在這些共享上,目錄屬於兩個不同的用戶,兩者都存在於伺服器本地。
其中一個由 rpcidmapd 正確映射,但另一個共享顯示無人:無人作為所有者。
隨著verbose的增加,良好掛載的輸出日誌(tomcat用戶):
Jun 1 15:39:19 server_hostname rpc.idmapd[31250]: nfs4_name_to_uid: calling nsswitch->name_to_uid
Jun 1 15:39:19 server_hostname rpc.idmapd[31250]: nss_getpwnam: name '[email protected]' domain 'domain.com': resulting localname 'tomcat'
Jun 1 15:39:19 server_hostname rpc.idmapd[31250]: nfs4_name_to_uid: nsswitch->name_to_uid returned 0
Jun 1 15:39:19 server_hostname rpc.idmapd[31250]: nfs4_name_to_uid: final return value is 0
Jun 1 15:39:19 server_hostname rpc.idmapd[31250]: Client 0: (user) name "[email protected]" -> id "667"
Jun 1 15:39:19 server_hostname rpc.idmapd[31250]: nfs4_name_to_gid: calling nsswitch->name_to_gid
Jun 1 15:39:19 server_hostname rpc.idmapd[31250]: nfs4_name_to_gid: nsswitch->name_to_gid returned 0
Jun 1 15:39:19 server_hostname rpc.idmapd[31250]: nfs4_name_to_gid: final return value is 0
Jun 1 15:39:19 server_hostname rpc.idmapd[31250]: Client 0: (group) name "[email protected]" -> id "667"
對於未正確映射的用戶,我們有一個 -22 退出代碼:
Jun 1 15:56:31 server_hostname rpc.idmapd[7128]: nfs4_name_to_uid: calling nsswitch->name_to_uid
Jun 1 15:56:31 server_hostname rpc.idmapd[7128]: nss_getpwnam: name '10701' domain 'domain.com': resulting localname '(null)'
Jun 1 15:56:31 server_hostname rpc.idmapd[7128]: nss_getpwnam: name '10701' does not map into domain 'domain.com'
Jun 1 15:56:31 server_hostname rpc.idmapd[7128]: nfs4_name_to_uid: nsswitch->name_to_uid returned -22
Jun 1 15:56:31 server_hostname rpc.idmapd[7128]: nfs4_name_to_uid: final return value is -22
Jun 1 15:56:31 server_hostname rpc.idmapd[7128]: Client 0: (user) name "10701" -> id "99"
Jun 1 15:56:31 server_hostname rpc.idmapd[7128]: nfs4_name_to_gid: calling nsswitch->name_to_gid
Jun 1 15:56:31 server_hostname rpc.idmapd[7128]: nfs4_name_to_gid: nsswitch->name_to_gid returned -22
Jun 1 15:56:31 server_hostname rpc.idmapd[7128]: nfs4_name_to_gid: final return value is -22
Jun 1 15:56:31 server_hostname rpc.idmapd[7128]: Client 0: (group) name "672" -> id "99"
相同的安裝在 rhel 7.4 伺服器上運作良好。
/etc/idmapd.conf
兩台伺服器上都是一樣的。
使用者和群組都存在於本地, getent passwd 對這兩個使用者都回應良好。
使用者名稱長度超過 8 個字符,嘗試將其減少到 8 個字符,但沒有成功。
考慮過高於 10000 的 uid,但找不到談論這種限制的文檔。
現在缺乏想法,我用谷歌搜尋了很多,但找不到它對一個用戶有效但對另一個用戶無效的原因。
答案1
NFSv4 提供了一種將使用者名稱對應到使用者 ID 的方法。如果您希望在伺服器和用戶端上擁有相同的憑證,您可以為兩個系統提供相同的憑證網域
如果這在您的平台上不起作用,請在文件中搜尋有關如何配置的信息nfsv4 域