因此,就像标题所说的那样,我想知道是否有办法让多个组拥有一个文件夹,并且访问控制列表?
我希望有这些群组
- ftp_读取
- 我想拥有读为该组设置
- ftp_读写
- 我想拥有读、写为该组设置
- 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
简而言之,一旦在挂载选项中启用 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