FUSE
also: Filesystem in Userspace, fusermount
FUSE (Filesystem in Userspace) is a mechanism that allows non-root users to create and manage custom filesystems without modifying kernel code.
FUSE enables userspace applications to implement filesystem logic through a simple API, bypassing the need for kernel-level filesystem drivers. The kernel communicates with a userspace daemon via /dev/fuse, translating filesystem operations into library function calls that your application handles.
This is powerful because you can build filesystems for virtually anything: network services (SSHFS, Google Drive mounts), databases, compressed archives, or custom data sources—all without touching kernel code or requiring root privileges for development.
For example, sshfs mounts a remote server's filesystem over SSH, and encfs provides transparent encryption—both are FUSE-based applications. A typical workflow involves writing a program using libfuse that responds to operations like open(), read(), and write() on your custom mount point.