![有没有办法使用 ACL 让多个组拥有一个文件夹?](https://linux22.com/image/1493000/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E4%BD%BF%E7%94%A8%20ACL%20%E8%AE%A9%E5%A4%9A%E4%B8%AA%E7%BB%84%E6%8B%A5%E6%9C%89%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%E5%A4%B9%EF%BC%9F.png)
因此,就像标题所说的那样,我想知道是否有办法让多个组拥有一个文件夹,并且访问控制列表?
我希望有这些群组
- 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