没有 root 权限的 FUSE fs(例如 LD_PRELOAD 网关或 proot 插件)

Suz*_*Soy 7 linux filesystems fuse libraries

在我没有 root 访问权限并且未安装 FUSE 的系统上(或者我没有足够的权限来创建新的挂载),如何启动保险丝文件系统(例如 sshfs 或一些基于 FUSE 的系统) unionfs)并从(通常)任何通过 LD_PRELOAD hack 实现的程序访问它,而不涉及内核或 root 权限?

\n

我正在寻找一种现有的解决方案,例如其中之一(或可以轻松组装以获得其中之一的砖块):

\n
    \n
  • 通往 FUSE 的 LD_PRELOAD 网关?有已经存在的吗?
  • \n
  • 现有的 proot 插件,它将 FS 系统调用转发到 FUSE 文件系统(例如转发到 sshfs/unionfs/\xe2\x80\xa6)
  • \n
  • 转发到 FUSE 的现有插件或另一个虚拟文件系统覆盖的扩展(AVFS、fakechroot、\xe2\x80\xa6)
  • \n
  • 提供名为mylib_openmylib_writemylib_close\xe2\x80\xa6 等函数的库,这些函数将调用转发到 FUSE 文件系统。这使得从源代码(仅#define open mylib_open)编译时修补特定程序或修补 proot、fakechroot、AVFS 或其他一些 vfs 变得相当容易。
  • \n
  • 上述任何一种,使用一个单独的进程来代替内核的角色(保留挂载点和与 FUSE 文件系统的连接,并充当服务器,以便多个客户端进程可以看到相同的 VFS)。
  • \n
  • 我不认为qemu-user可以用来在自己的环境中运行真正的FUSE,因为qemu-user不模拟内核IIUC,并且安装qemu-system现在通常需要root,并且尝试在没有root权限的情况下运行qemu-systemkvm会很慢。
  • \n
\n

我发现了类似的问题,但没有一个解决与现有 FUSE 文件系统的兼容性

\n\n