NFS v4 ACLinheritance问题 – “我”标志设置,但不是想要的

我正在尝试的是添加一个允许目录,子孙,孙子等目录和文件在Linux下inheritance删除('D')标志的NFS v4 ACL。 服务器上的底层文件系统是xfs和。

我也不是特别熟悉。

服务器是Centos 6.3,客户端是Centos 6.4。

通过阅读man页面,“ i ”标志意味着在子文件/目录上设置这个acl,但是不把它应用到当前的目录。 我没有在父( /var/www/tauweb )上设置' i '标志,但它似乎被设置在创build的任何/var/www/tauweb上。

当我在dir /vaw/www/tauweb上使用nfs4_getfacl写下列ACE时会发生什么:

 A::OWNER@:rwaDxtTcCy A::GROUP@:rwaDxtcy A::EVERYONE@:rxtcy A:fdi:OWNER@:rwaDxtTcCy A:fdi:GROUP@:rxtcy A:dg:[email protected]:rwaDxtcy A:fdi:EVERYONE@:rxtcy 

是系统实际上写这个:

 [root@tau www]# nfs4_getfacl tauweb/ A::OWNER@:rwaDxtTcCy A::GROUP@:rwaDxtcy A:g:[email protected]:rwaDxtcy A::EVERYONE@:rxtcy A:fdi:OWNER@:rwaDxtTcCy A:fdi:GROUP@:rxtcy A:fdig:[email protected]:rwaDxtcy A:fdi:EVERYONE@:rxtcy 

注意倒数第二个用户tau条目中的'i'。 当我编辑ACE时没有设置,但立即出现 – 系统似乎添加了它。

现在阅读我能find的所有docoo指出,在最上面一组ACE中的第一个冒号后的“dg”应该导致ACL被inheritance到子目录(据我所知,“g”表示委托人是一个组,而不是一个用户)。

现在“我”的标志显然意味着,使这个ACE被inheritance,但不考虑它在实际的烫发检查。

然后当一个孩子dir /var/www/tauweb/d2被创build时,它会得到这些:

 [kkassahn@tau tauweb]$ nfs4_getfacl d2/ A::OWNER@:rwaDxtTcCy A::GROUP@:rxtcy A:g:[email protected]:rxtcy A::EVERYONE@:rxtcy A:fdi:OWNER@:rwaDxtTcCy A:fdi:GROUP@:rxtcy A:fdig:[email protected]:rwaDxtcy A:fdi:EVERYONE@:rxtcy 

而孙子/var/www/tauweb/d2/d3得到这些:

 [kkassahn@tau tauweb]$ nfs4_getfacl d2/d3/ A::OWNER@:rwaDxtTcCy A::GROUP@:rxtcy A:g:[email protected]:rxtcy A::EVERYONE@:rxtcy A:fdi:OWNER@:rwaDxtTcCy A:fdi:GROUP@:rxtcy A:fdig:[email protected]:rwaDxtcy A:fdi:EVERYONE@:rxtcy 

现在d2是可删除的 – 因为它的父/ var/www/tauweb has

A:g:[email protected]:rwaDxtcy ACE。 但是这个ACE并没有被inheritance。

只有A:g:[email protected]:rxtcy适用于d2和d3,虽然inheritance但不请教
A:fdig:[email protected]:rwaDxtcy被孩子,大孩子等遗传

任何帮助或build议非常感谢,谢谢。

我find了这个问题的原因。 看来,NFS v4 ACL采取应用用户的umask。 我的用户有一个002的umask,所以缺less其他人的写入导致'w''d'和'D'标志被删除。

据我所知,这种行为与POSIX ACL不同。

在任何情况下,我的解决scheme是将用户的umask设置为0。

在我的情况下,其中一个用户是Apache,所以我在/etc/init.d/http设置了umask 000

其他用户都是chroot的SFTP用户,我在ssh pamconfiguration中使用了pam_umask来设置他们的umask 000。

我的一个朋友在这里发现了一些关于这个问题的讨论: http : //www.spinics.net/lists/linux-nfs/msg27799.html