為什麼掛載相同 NFS 共享的兩個系統之間的文件所有權不一致?
我有一台連接到 san 儲存的 IBM AIX 伺服器 (serverA)。我創建了一個卷組和文件系統 (jfs2) 並安裝到目錄 /profit。
之後,我為該目錄創建了一個 NFS 共享並啟動了 NFS 守護程序。
在另一台伺服器上,也就是 IBM AIX (serverB),我創建了一個掛載點 /profit,並使用以下命令將 nfs 共享從 serverA 掛載到 serverB:mount 192.168.10.1:/profit /profit
在 serverB 上,我可以訪問該目錄並列出其中的文件。但奇怪的是,在 serverA 上,目錄和文件都歸 oracle 使用者所有。但在 serverB 中,我將它們視為不同的使用者。
當我在 serverA 上的 serverB 上觸摸該目錄中的文件時,我將其視為另一個使用者 ID。
有什麼線索我可以解決這個問題嗎?
以下是來自 serverB 的文件列表
$ ls -l total 0 -rwxrwxrwx 1 root system 0 Mar 16 15:00 haha -rwxrwxrwx 1 radiusd radiusd 0 Mar 16 15:19 haha2 -rwxrwxrwx 1 radiusd radiusd 0 Mar 16 15:31 haha3 -rw-r--r-- 1 oracle oinstall 0 Mar 17 2011 hahah3 drwxrwxrwx 2 radiusd radiusd 256 Mar 16 14:40 lost+found
在 serverA 上,它如下所示:
# ls -l /profit total 0 -rwxrwxrwx 1 root system 0 Mar 16 15:00 haha -rwxrwxrwx 1 oracle dba 0 Mar 16 15:19 haha2 -rwxrwxrwx 1 oracle dba 0 Mar 16 15:31 haha3 -rw-r--r-- 1 10 sshd 0 Mar 17 16:01 hahah3 drwxrwxrwx 2 oracle dba 256 Mar 16 14:40 lost+found
下面是來自 serverA 的 /etc/exports 文件
# more /etc/exports /profit -vers=3,sec=sys:krb5p:krb5i:krb5:dh,rw
謝謝。
請記住,每個 NFS 客戶端系統都將通過使用本地系統的/etc/passwd或在集中式使用者數據庫中查找數字 UID 來確定使用者名。NFS 伺服器僅以數字格式儲存 UID,不知道使用者名。對於組名與 GID 也是如此。
在您的情況下, serverA 和 serverB 必須具有 /etc/passwd 中列出的不同使用者名
要對此進行測試,請使用
ls -n
以數字形式顯示使用者和組 ID,而不是在長 (-l) 輸出中轉換為使用者或組名。如果該ls -n
選項在 AIX 上不可用,請查閱此功能的聯機幫助頁。要查看使用者名到 uid 的映射,請在 serverA 和 serverB 上執行以下操作之一。
grep $THEUSERID /etc/passwd
或者,使用 是一個好習慣
getent
,因為它適用於 /etc/password 和目錄服務(LDAP 等):getent passwd $THEUSERID
兩個系統上的 UID 應該相同,但使用者名會不同。