Alv*_*Sim 5 linux users permissions nfs aix
我有一台连接到 san 存储的 IBM AIX 服务器 (serverA)。我已经创建了一个卷组和文件系统 (jfs2) 并挂载到目录 /profit。
之后,我为该目录创建了一个 NFS 共享并启动了 NFS 守护进程。
在另一台服务器上,这也是 IBM AIX(服务器 B),我创建了一个挂载点 /profit 并使用以下命令将 nfs 共享从 serverA 挂载到 serverB: mount 192.168.10.1:/profit /profit
在 serverB 上,我能够访问该目录并列出其中的文件。但奇怪的是,在serverA 上,目录和文件都在oracle 用户的所有权下。但是在 serverB 中,我将他们视为不同的用户。
当我在 serverB 和 serverA 上触摸该目录中的文件时,我将其视为另一个用户 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
Run Code Online (Sandbox Code Playgroud)
在 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
Run Code Online (Sandbox Code Playgroud)
下面是来自 serverA 的 /etc/exports 文件
# more /etc/exports
/profit -vers=3,sec=sys:krb5p:krb5i:krb5:dh,rw
Run Code Online (Sandbox Code Playgroud)
谢谢。
Ste*_*ski 13
请记住,每个 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
Run Code Online (Sandbox Code Playgroud)
或者,使用 是一个好习惯getent
,因为它适用于 /etc/password 和目录服务(LDAP 等):
getent passwd $THEUSERID
Run Code Online (Sandbox Code Playgroud)
两个系统上的 UID 应该相同,但用户名会不同。
归档时间: |
|
查看次数: |
18569 次 |
最近记录: |