我读过很多关于 UNIX ACL 的优点的文章。例如,可以查看一个很好的例子这里。但是,是否有一些缺点或配置无法使用 ACL 来表达?
答案1
这可能会因征求意见或过于宽泛而关闭,但我会尽力而为。 “UNIX ACL”是一种非常间接的引用方式。我猜你指的是 POSIX 风格的 ACL。主要缺点是您可以指定的操作数量缺乏表现力,因为它只是扩展了传统的读/写/执行权限,以便您可以指定更多的用户而不仅仅是所有者,以及更多的组而不仅仅是文件的主要组。
不过,大多数这些限制并不重要,而且 rwx 可以满足大多数人的需求。一旦您考虑文件属性,例如使文件不可变或仅附加(通过chattr
),其他访问控制通常会达到“足够接近”的范围。
不过,除了 POSIX 之外,还有其他 ACL 实现。有一个用于在文件系统级别实现 NFS ACL 的工具,称为理查克斯但暂时支持不完整。
POSIX ACL 本身也不能真正控制功能执行。他们必须将这种能力添加到 SELinux 中,以便您可以执行诸如授予一般用户CAP_CHOWN
但限制他们对具有特定 SELinux 类型的文件执行此操作之类的操作。
答案2
没有其他缺点,只是维护文件和目录往往更细粒度,并且人员和组的组织可能会很混乱。
因此,ACL 允许您覆盖任何场景,因为它允许您根据需要授予权限,因此没有任何场景可以逃脱。
作为简历,大多数场景都可以用“传统”UNIX 权限来涵盖。当您需要与具有异类角色的异类人员共享某些目录或文件时,ACL 将为您提供完成此操作所需的金弹。