所以我确实知道,默认情况下,当我们挂载时,用户/组所有权被设置uid=0=gid
为属于根,我在挂载手册页中读到了这一点。
奇怪的是,我正在安装一个 NFS 共享,/oradata
其中有一个我创建的目录,如下所示:
[root@sandbox ~]# mkdir /oradata
[root@sandbox ~]# chown oradata:oinstall /oradata
然后进行 NFS 挂载:
[root@sandbox ~]# mount -t nfs -o rw,hard,rsize=1048576,wsize=1048576,vers=3,tcp ip_address:/oracle_test /oradata
现在安装后的所有权/oradata
有时更改为root:root
,有时它会保持oracle:oinstall
预安装状态。
我的问题是为什么这种行为是随机的?挂载到 root 后难道不应该总是更改所有权吗?
PS:我也在使用 Azure 卷存储进行 NFS。
答案1
当属于 root 时,用户/组所有权设置为 uid=0=gid ,我在 mount 手册页中读到了这一点。
我认为这是一个错误的假设。您在哪里找到这些信息的?当您挂载某个文件系统时,原始目录内容和权限将变得“不可见”。相反,如果目标支持权限(如 NFS 那样),则挂载的文件系统(即使是网络文件系统)权限将生效。即,挂载后看到的权限是在目标 NFS 服务器导出上设置的权限。