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-usercould 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 withoutkvmwould be quite slow.
I found similar questions, but none addresses compatibility with existing FUSE filesystems:
- Looking for a file-system overlay using LD_PRELOAD asks about any FS overlay implemented as a LD_PRELOAD, the answers list other FS overlays than FUSE.
- Presenting a virtual filesystem to a Linux process without root access on StackOverflow mentions than LD_PRELOADing FUSE would be an acceptable answer, but mostly asks about other similiar virtual FS (and no answer picked that option).
- Use libfuse in a project, without root access (for installation)? FTP mounts & inotify/kqueue/FSEvents on StackOverflow asks specifically about using libfuse without root access to get
inotifyon remote FTP filesystems, and the answers address that specific request.