除了传统的“rwx”和 POSIX ACL 之外,是否还有更高级的文件系统 ACL?

除了传统的“rwx”和 POSIX ACL 之外,是否还有更高级的文件系统 ACL?

是否存在针对 Linux 内核的简单且集成(即嵌入到文件系统中)的 ACL 补丁?

问题很简单:我需要比 Linux 上经典的“rwx”chmod 更灵活、更先进的东西。

我的要求是:

  • 有更多碎片化的限制:
    • 至少允许用户删除,但不允许创建
    • 反向:允许创建和追加,但不允许删除
    • 对除超级用户和所有者/组之外的任何人隐藏文件
    • 最好将它们分成单独的权限标志
  • 文件和目录的权限分离
  • 对附加到文件/目录的更高级控制
  • 超出标准用户:组模型的大量权限条目(如 POSIX ACL 那样)
  • 集成到文件系统中(可能通过 xattrs)
  • 不需要复杂且臃肿的程序和安全框架(我已经浏览过 grsecurity 并且我不喜欢它)
  • 从用户空间管理它们的统一工具

原因是我通常构建的许多高级文件服务器变得非常有限或不安全,因为只有如此有限的 POSIX ACL 存在,它只扩展了 inode 上的一些“rwx”条目。

此处不适用的内容:

  • 任何 Linux 内核 LSM(SELinux 等)
  • 查特尔/lsattr
  • 网络安全

作为最后的手段,如果没有任何包/内核补丁提供此类功能,那么我将被迫开始破解我自己的包/内核补丁。

答案1

没有什么叫做POSIX ACL。有些人称之为什么POSIX ACL是 1993 年的提案草案,于 1997 年被撤回。

然而有一个 ACL 标准:NFSv4 ACL也称为NTFS ACL

NFSv4 ACL现在 Solaris、Mac OS X、FreeBSD 和 AIX 都支持,甚至 Linux 最近也开始实现它们。在 Linux 上,它们被称为“richacls”。

NFSv4 ACLZFS 以及 OS X 和 AIX 的文件系统本身支持。

http://schillix.sourceforge.net/man/man1/chmod.1.html进行描述。

新的 ACL 标准并不简单,但它实现了您希望看到的内容。

Linux 上的 NFSv4 ACL 实现是由负责撤回草案实现的同一个人完成的。不幸的是,在 Linux 上,通常默认情况下没有安装 ACL 代码。另请注意,虽然 Solaris 支持最多 1024 个 ACL 条目,但 Linux 的限制要小得多。 Win-DOS 上的 NTFS ACL 最多支持 1820 个条目。

您可能会感兴趣,去年,SuSE Linux 没有工作库支持,因此,我还无法添加 Linux NFSv4 ACL 支持,star而 Solaris、OS X 和 FreeBSD 都存在这种支持。

请注意,只有损坏的 ACL 支持gtar,因此如果您喜欢使用 ACL,无论如何都需要使用star

PS 如果有人发现 Linux 系统具有可用的 NFSv4 acl,请给我留言。我有兴趣添加 Linux NFSv4 支持,尽管它们似乎使用不兼容的库接口。

相关内容