9

On a system where I don't have root access and FUSE isn't installed (or I don't have sufficient privileges to create new mounts), how can I start a fuse filesytem (like sshfs or some FUSE-based unionfs) and access it from (neraly) any program as made possible by LD_PRELOAD hacks, without involving the kernel or root privileges?

I'm looking for an existing solution like one of these (or bricks that can be easily assembled to get one of those):

  • An LD_PRELOAD gateway to FUSE? Does any already exist?
  • An existing plugin for proot which forwards FS syscalls to a FUSE filesystem (e.g. forwards to sshfs/unionfs/…)
  • An existing plugin or extension of another virtual filesytem overlay (AVFS, fakechroot, …) which forwards to FUSE
  • A library providing functions named like mylib_open, mylib_write, mylib_close… which forward calls to a FUSE filesystem. This would make it fairly easy to patch a specific program when compiled from source (just #define open mylib_open) or to patch proot, fakechroot, AVFS or some other vfs.
  • Any of the above, using a separate process which replaces the kernel's role (keep hold of mount points and connections with FUSE filesystems, and acts as a server so that multiple client processes may see the same VFS).
  • I don't think qemu-user could be used to run the real FUSE in its own environment, as qemu-user doesn't emulate the kernel IIUC, and installing qemu-system often requires root nowadays, and trying to run qemu-system without kvm would be quite slow.

I found similar questions, but none addresses compatibility with existing FUSE filesystems:

0 Answers0