我也不是特别熟悉.
服务器是Centos 6.3,客户端是Centos 6.4.
通过我阅读手册页,’i’标志意味着在子文件/目录上设置此acl,但不要将其应用于当前目录.
我没有在父(/ var / www / tauweb)上设置’i’标志,但它似乎是在创建的任何子目录上设置的.
当我在dir / vaw / www / tauweb上使用nfs4_getfacl编写以下ACE时会发生什么:
A::OWNER@:rwaDxtTcCyA::GROUP@:rwaDxtcyA::EVERYONE@:rxtcyA:fdi:OWNER@:rwaDxtTcCyA:fdi:GROUP@:rxtcyA:dg:tau@ersa.edu.au:rwaDxtcyA:fdi:EVERYONE@:rxtcy
是系统实际上写这个:
[root@tau www]# nfs4_getfacl tauweb/A::OWNER@:rwaDxtTcCyA::GROUP@:rwaDxtcyA:g:tau@ersa.edu.au:rwaDxtcyA::EVERYONE@:rxtcyA:fdi:OWNER@:rwaDxtTcCyA:fdi:GROUP@:rxtcyA:fdig:tau@ersa.edu.au:rwaDxtcyA:fdi:EVERYONE@:rxtcy
注意倒数第二个用户tau条目中的“i”.当我编辑ACE但是立即出现时没有设置 – 系统似乎添加了它.
现在阅读我能找到的所有docoo表示在顶级ACE集合中第一个冒号之后的“dg”应该导致ACL继承到子目录(据我所知,’g’表示主体是一个组,而不是一个用户).
现在“i”标志显然意味着,导致这个ACE被继承,但在实际的perm检查中不考虑它.
然后当创建一个子目录/ var / www / tauweb / d2时,它会得到以下结果:
[kkassahn@tau tauweb]$nfs4_getfacl d2/A::OWNER@:rwaDxtTcCyA::GROUP@:rxtcyA:g:tau@ersa.edu.au:rxtcyA::EVERYONE@:rxtcyA:fdi:OWNER@:rwaDxtTcCyA:fdi:GROUP@:rxtcyA:fdig:tau@ersa.edu.au:rwaDxtcyA:fdi:EVERYONE@:rxtcy
孙子/ var / www / tauweb / d2 / d3得到这些:
[kkassahn@tau tauweb]$nfs4_getfacl d2/d3/A::OWNER@:rwaDxtTcCyA::GROUP@:rxtcyA:g:tau@ersa.edu.au:rxtcyA::EVERYONE@:rxtcyA:fdi:OWNER@:rwaDxtTcCyA:fdi:GROUP@:rxtcyA:fdig:tau@ersa.edu.au:rwaDxtcyA:fdi:EVERYONE@:rxtcy
现在d2是可删除的 – 因为它的父/ var / www / tauweb具有
答:g:tau@ersa.edu.au:rwaDxtcy ACE.
但是,ACE并没有得到继承.
只有A:g:tau@ersa.edu.au:rxtcy应用于d2和d3,虽然继承但不咨询
答:fdig:tau@ersa.edu.au:rwaDxtcy由儿童,大孩子等继承.
任何帮助或建议非常感谢,谢谢.
解决方法 我找到了这个问题的原因.似乎NFS v4 ACL采用了用户的umask.
我的用户有一个002的umask,因此缺少对其他人的写入会导致’w””d’和’D’标志被删除.
据我所知,这种行为与POSIX ACL不同.
在任何情况下,我的解决方案是将用户的umask设置为0.
在我的情况下,其中一个用户是apache,所以我在/etc/init.d/http中设置了umask 000.
其他用户都是chrooted SFTP用户,我在ssh pam配置中使用了pam_umask来设置他们的umask 000.
我的一个朋友在这里找到了一些关于这个问题的讨论:
http://www.spinics.net/lists/linux-nfs/msg27799.html
以上是内存溢出为你收集整理的NFS v4 ACL继承问题 – “i”标志设置但不想要全部内容,希望文章能够帮你解决NFS v4 ACL继承问题 – “i”标志设置但不想要所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)