SSHFS 挂载选项 default_permissions 不支持 ACL - 请解释

Mou*_*inX 5 security acl permissions sshfs

关于 FUSE GitHub 页面,我有一些问题:

  1. 下面是否意味着SSHFS报价确实,如果支持的ACLdefault_permissions不使用

  2. 这是否意味着如果需要 ACL 支持和适当的安全性,既不应该default_permissions也不allow_other应该用作挂载选项?(很明显,allow_other没有default_permissions.不应该使用。)

  3. 如果 #2 是正确的,这是否意味着 SSHFS 挂载default_permissions和不挂载allow_other都会正确地将服务器的文件权限和 ACL 传递给客户端?

来源:GitHub - libfuse/libfuse:FUSE(用户空间中的文件系统)接口 https://github.com/libfuse/libfuse

如果您打算使用 allow_other 挂载选项,请注意 FUSE 有一个未解决的安全漏洞: 如果没有使用 default_permissions 挂载选项,只要被访问条目的 inode 存在于内核缓存中,文件系统对目录条目执行的第一次权限检查的结果将被重新用于后续访问 -即使权限已更改,即使后续访问是由不同的用户进行的。如果文件系统只能由挂载用户访问(无论如何都可以完全访问文件系统),则这无关紧要,但是当其他用户被允许访问文件系统时(因为他们可以利用它对文件系统执行操作),这将成为一个安全问题他们实际上没有权限的文件系统)。

这个错误需要在 Linux 内核中修复,并且自 2006 年以来就已经存在,但遗憾的是尚未应用任何修复。如果您依赖 FUSE 文件系统的正确权限处理,唯一的解决方法是使用default_permissions当前不支持 ACL),或者完全禁用目录条目属性的缓存。

在我的环境中,所有客户端和服务器都运行 Linux,并且都使用 BTRFS(支持 ACL)。所有 GUID 和 UID 都匹配。