NFS ACL不适用于root

我一直使用CIFS进行networking连接的时间最长,而且我想使用NFS进行Linux到Linux的文件分发。 我有一个共享驱动器,我已经设置了一个粘性组,看起来工作正常时通过NFS挂载,除非root正在写入。

所以在文件服务器上有一个名为media的目录,我已经使用ACL setfacl -d -mu::rwx,g::rwx,o::rx Media来执行,所以它看起来像这样:

 drwsrwsrwx+ 16 chrishunter users 4096 Sep 25 06:10 Media 

并执行行动按预期工作:

 chrishunter@server:/media/disk1/Media$ touch file chrishunter@server:/media/disk1/Media$ sudo touch file2 [sudo] password for chrishunter: chrishunter@server:/media/disk1/Media$ sudo su root@server:/media/Media# touch file3 root@server:/media/Media# ls -ltra file* -rw-rw-r-- 1 chrishunter users 0 Sep 26 05:51 file -rw-rw-r-- 1 root users 0 Sep 26 05:51 file2 -rw-rw-r-- 1 root users 0 Sep 26 05:52 file3 

现在通过NFS挂载似乎不适用ACL,因此当我执行一个sudo touch文件时,它看起来像这样:

 chrishunter@client:/mnt/Media$ touch file chrishunter@client:/mnt/Media$ sudo touch file2 [sudo] password for chrishunter: chrishunter@client:/mnt/Media$ sudo su root@client:/mnt/Media# touch file3 root@client:/mnt/Media# ls -ltra file* -rw-rw-r-- 1 chrishunter users 0 Sep 26 06:09 file -rw-r--r-- 1 root users 0 Sep 26 06:10 file2 -rw-r--r-- 1 root users 0 Sep 26 06:10 file3 

所以看起来,NFS4应该自动将其传播到客户端,并通过运行nfs4_getfacl Media我可以看到权限:

 A::OWNER@:rwaDxtTcCy A::GROUP@:rwaDxtcy A::EVERYONE@:rxtcy A:fdi:OWNER@:rwaDxtTcCy A:fdi:GROUP@:rwaDxtcy A:fdi:EVERYONE@:rxtcy 

现在这跟我说跟着那个人真的,所有的权限都应该被inheritance,但在这种情况下不是。

显示它的注意事项应该使用ACL来安装。

 chrishunter@server:/media/disk1/Media# tune2fs -l /dev/dm-0 | grep "Default mount options:" Default mount options: acl chrishunter@server:/media/disk1/Media# mount |grep media /dev/mapper/vg1-lv1 on /media/disk1/Media type ext4 (rw,acl) 

更新:添加了出口的内容,因为这是一个潜在的问题。

 /media/Media 192.168.0.0/24(rw,no_root_squash,anonuid=1000,anongid=1000,sync,no_subtree_check‌​) 

经典的NFS专门处理root用户。 您可以尝试在服务器的导出文件中设置no_root_squash选项。 见man exports