2

POSIX.1e打算为 POSIX 定义 ACL(访问控制列表)机制(以及其他与安全相关的问题),但这些提案从未转换为正式标准。尽管如此,至少在所有主要的 Unix 变体( LinuxBSDMacOS X (ACL)HP-UXAIX (p107ff)、Solaris )中都支持 ACL(不一定是 POSIX.1e ACL )。我还没有发现讨论的一个细节是文件上的 ACL 如何与目录上的粘性位交互。

对于普通目录(没有 ACL 来混淆问题),可以将权限设置为例如 1777(例如,在 /tmp 上找到)。

drwxrwxrwt  16 root     sys         4819 May  4 12:09 /tmp

粘性位由权限最后位置的“t”表示。这意味着如果用户可以写入文件,则用户只能从目录中删除文件。这是有道理的;如果用户可以写入文件,则文件的内容可以被破坏。

我的问题是:

  • 假设 /tmp 目录的一般(非 ACL)权限如上所示。
  • 进一步假设偏执的用户“trembler”将文件的非 ACL 权限设置/tmp/secret为 600(用户“trembler”,组“worried”)。
  • 假设 'trembler' 通过专门引用 'blase' 的 ACL 将 /tmp/secret 上的 'rw' 访问权限授予另一个用户,'blase'。
  • 可以'blase'删除文件/tmp/secret

如果考虑 ACL,答案应该是“是”;如果忽略 ACL,答案将是“否”。假设在相关文件系统上启用了 ACL,所有 Unix 变体的行为是否一致?

4

1 回答 1

1

假设在相关文件系统上启用了 ACL,所有 Unix 变体的行为是否一致?

由于 ACL 没有在 Unix 变体中统一实现,我希望行为可能在 Unix 变体之间有所不同,但并非必须如此。除非所有 Unix 都实现相同(标准)的 ACL 方式,否则恕我直言,无法保证所有 Unix 变体的统一行为。

于 2009-05-04T22:20:55.667 回答