OpenSolaris + ZFS + ACL 中可以实现权限层次结构吗?

OpenSolaris + ZFS + ACL 中可以实现权限层次结构吗?

我一直在研究 OpenSolaris 和 ZFS 在 NAS 中的使用。

到目前为止我已经创建了以下内容:

/坦克/项目

/罐/储存

/坦克/开发者

/坦克/沙箱

分配给 tank 的总空间为 3.4Tb (RAIDZ2)。开发人员挂载的是我们的 Subversion 存储库,它应该被锁定,以便只有系统管理员以及 suDevelopers 组中的用户才能访问该内容。

SandBox 是一个游乐区,所有门都是敞开的,可以读/写/删除任何东西。

我想知道如何实现以下目标,是否必须使用 ACL 还是仅使用标准 Unix 权限。

此 NAS 有三组主要用户,这是用户层次结构。除了 CIFS 之外,没有 AD 或其他任何内容来共享此 NAS。

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

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

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

问题是存储区中的一些文件包含我们不想让承包商看到的敏感信息(序列号、许可证密钥)。我们能否由将文件放在此处的用户在 Windows 中设置这些权限,然后它们会自动设置到正确的位置?

我不确定如何正确执行上述操作以及我应该使用 ACL 还是仅使用 CHMOD。

答案1

好吧,无论您使用传统的 POSIX 权限还是 ACL,您都将chmod在 Solaris 上使用。在这种情况下,我建议您使用 ACL。您必须将 ACL 分别应用于储罐池中的每个文件系统。我建议将每个文件系统的aclmode和属性也设置为。aclinheritpassthrough

我认为最好在 Solaris 端设置 ACL,而不是通过 Windows 进行设置。

基本上它看起来像这样:

chmod -R A=\
group:suDevelopers:full_set,\
group:sysadmins:full_set,\
/tank/projects

chmod -R A=\
group:suDevelopers:full_set:allow,\
group:suStaff:full_set:allow,\
group:suContractors:full_set:allow
/tank/storage

chmod -R A=everyone@:full_set:allow /tank/sandbox

等。您还可以使用read_set只读权限。

您还可以通过许多其他方式使用 ACL 来削减开支,ACL 是 Solaris 上非常强大的系统。您可以阅读man chmodman zfs了解详细信息。

还有本文其中给出了一些进一步的例子。

还请确保您使用的/usr/bin/chmod/usr/gnu/bin/chmod我认为是默认的。

相关内容