有没有办法使用 ACL 让多个组拥有一个文件夹?

有没有办法使用 ACL 让多个组拥有一个文件夹?

因此,就像标题所说的那样,我想知道是否有办法让多个组拥有一个文件夹,并且访问控制列表

我希望有这些群组

  1. ftp_读取
    • 我想拥有为该组设置
  2. ftp_读写
    • 我想拥有读、写为该组设置
  3. ftp_读写_执行
    • 我想拥有读、写、执行为该组设置

我似乎有可能这样做,但我并不确定。

答案1

是的,您可以在 ACL 中拥有多个组的条目 - 这实际上是 ACL 功能的全部意义所在。

(除非你不需要以任何方式让组“拥有”该文件夹。除了磁盘配额之外,“主”组不会获得所有者应有的任何特殊权限,因此你可以假装对面的,“群组所有权”仅仅是一个有限的 1 条目 ACL。

因此setfacl条款中,你的 ACL 看起来将是这样的:

g:ftp_read:r, g:ftp_read_write:rw, g:ftp_read_write_execute:rwx

虽然在我看来,这似乎不是一组非常有用的权限。通过 FTP,无论权限如何,用户都无法执行任意文件。同时,他们要求执行权限目录– 仅在目录上具有 +r 访问权限仅允许您查看文件名。

这似乎更有用:

g:ftp_read:rx, g:ftp_read_write:rwx

您可以将其设置为默认目录的 ACL 和 POSIX ACL 系统将自动在新创建的文件上“屏蔽” +x,导致文件为 +r 但目录为 +rx。

答案2

在 AskUbuntu 上查看这个问题

简而言之,一旦在挂载选项中启用 ACL,您就可以使用以下命令

setfacl -m g:ftp_read:r folder
setfacl -m g:ftp_read_write:rw folder
setfacl -m g:ftp_read_write_execute:rwx folder

相关内容