在OpenSolaris + ZFS + ACL中可以使用权限层次结构?

我一直在研究OpenSolaris和ZFS以用于NAS。

迄今为止,我创造了以下内容:

/jar/项目

/jar/存储

/jar/开发商

/jar/沙箱

分配给坦克的总空间是3.4Tb(RAIDZ2)。 开发者装载的是我们的Subversion版本库,它应该被locking,所以只有系统pipe理员才能访问那些内容加上suDevelopers组中的内容。

SandBox是一个游戏区域,它是所有打开的门,读/写/删除任何东西。

我想知道如何实现以下function,无论是使用ACL还是只使用标准的Unix权限。

这个NAS有三大类用户,这是用户层次结构。 除了CIFS之外,没有任何广告或其他任何东西可以共享这个NAS。

  • suDevelopers他们可以访问坦克中的所有内容。

  • suStaff这些用户是工作人员,除了坦克中的开发人员zfs之外,他们应该可以访问所有内容。

  • sucontractors这些用户只能看到存储文件夹,不能访问其他文件夹。

问题是存储区域中的一些文件包含我们不希望承包商看到的敏感信息(序列号,许可证密钥)。 我们可以在那里放置文件的用户在Windows中设置这些权限,他们会自动设置到正确的位置?

我不知道如何正确地做上述事情,无论是ACL还是CHMOD我都应该使用。

那么,无论您使用传统的POSIX权限还是ACL,您都将在Solaris上使用chmod 。 我build议你在这种情况下使用ACL。 您必须将ACL单独应用于储jar池中的每个文件系统。 我build议将每个文件系统的aclmodeaclinherit属性设置为passthrough

我认为最好是在Solaris上设置ACL,而不是通过Windows来完成。

基本上看起来像这样:

 chmod -RA=\ group:suDevelopers:full_set,\ group:sysadmins:full_set,\ /tank/projects chmod -RA=\ group:suDevelopers:full_set:allow,\ group:suStaff:full_set:allow,\ group:suContractors:full_set:allow /tank/storage chmod -RA=everyone@:full_set:allow /tank/sandbox 

等等。 您也可以使用read_set作为只读权限。

还有很多其他方法可以减lessACL,它们是Solaris上非常强大的系统。 你可以阅读man chmodman zfs的细节。

还有这篇文章给出了一些更多的例子。

还要确保你使用的是/usr/bin/chmod而不是/usr/gnu/bin/chmod ,我相信这是默认的。