服务端和客户端都是cent os 7.0
我的数据虚拟机有一个导出文件:
/data 10.75.0.0/24(rw,sync,no_subtree_check) 10.50.1.0/24(rw,sync,no_subtree_check,no_root_squash)
我的客户有一个 fstab:
10.50.1.248:/data/archive/images /export/images nfs rsize=32768,wsize=32768,actimeo=0,bg,intr
果然,用户为 arc 的客户端可以 ls /export/images,但如果我尝试 cd 进入那里并触摸一个文件:
[arc@megamcachine images]$ touch somefile
touch: cannot touch ‘somefile’: Permission denied
现在数据虚拟机上该用户的 id 是:
id arc
uid=1001(arc) gid=1001(arc) groups=1001(arc),10000(canwrite),10001(tron)
客户端上的 id 弧是:
id arc
uid=1001(arc) gid=1001(arc) groups=1001(arc),10000(datawrite),10001(tron)
我不确定我错过了什么。我有另一台机器正在安装此 nfs 挂载,那些用户工作正常……(需要注意的是,这些用户都是拥有这些文件的用户和组)但 arc 处于数据写入(canwrite)状态,因此不确定拒绝权限来自哪里。如果我转到正在导出 NFS 挂载的数据 vm 并以 arc 用户身份执行 su,我可以在 /images 文件夹中写入,没有问题。
Arc 用户可以在服务器本身上写入磁盘:
[arc@35M_DATA images]$ touch somefile
[arc@35M_DATA images]$ ls -lh
-rwxrwxr-x. 1 tron datawrite 9.6K Apr 1 2021 q4list
-rw-rw-r--. 1 arc datawrite 0 Nov 8 11:58 somefile <---
drwxrwxr-x. 411 tron datawrite 12K Nov 7 17:15 tcam
drwxrwsr-x. 3 tron datawrite 4.0K Sep 29 18:12 tmp
drwxrwsr-x. 2 tron datawrite 4.0K Oct 25 2011 ytgold
[arc@35M_DATA images]$
[arc@35M_DATA images]$ ls -ld
drwxrwsr-x. 257 tron datawrite 12288 Nov 8 11:58 .
来自客户:
[arc@ecamera-icc images]$ ls -ld
drwxrwsr-x 257 500 datawrite 12288 Nov 8 09:58 .
[arc@ecamera-icc images]$