fusermount
Unmount FUSE filesystems
TLDR
Unmount a FUSE filesystem
Unmount a FUSE filesystem as soon as it becomes unused
Display version
SYNOPSIS
fusermount [options] mountpoint
fusermount -u [options] mountpoint
fusermount -z [options] mountpoint
fusermount -V
fusermount -h
PARAMETERS
-u
Unmount the specified FUSE filesystem. This is the default action if no other action-specifying options are provided.
-z
Perform a lazy unmount. The filesystem is immediately detached from the file hierarchy, and all references to the filesystem are cleaned up as soon as they are no longer busy.
-q
Enable quiet mode. Suppress error messages if the unmount operation fails.
-V
Display version information about fusermount and exit.
-h
Display help information and exit.
DESCRIPTION
fusermount is a crucial helper program for managing filesystems created using the Filesystem in Userspace (FUSE) framework. Its primary purpose is to enable unprivileged users to unmount FUSE filesystems that they have mounted, a task that would typically require root privileges if performed directly with the standard umount command.
When a FUSE filesystem is to be unmounted, fusermount handles the communication with the kernel's FUSE module and the FUSE daemon process (the user-space program implementing the filesystem). It ensures that all resources are properly released, the mount point is cleaned up, and the FUSE daemon is gracefully terminated. This dedicated approach prevents issues like stale mount points or lingering processes that can occur with improper unmounting.
It is commonly installed as a setuid-root executable, allowing it to temporarily gain the necessary permissions to interact with the kernel's mounting infrastructure, while still operating in a secure manner under the user's context.
CAVEATS
fusermount typically requires being installed setuid root to allow unprivileged users to perform unmount operations. If the permissions are configured incorrectly, users may be unable to unmount their FUSE filesystems. While fusermount strives for safe unmounting, it may still fail if the filesystem is excessively busy, requiring a lazy unmount (-z) or manual intervention.
SETUID ROOT REQUIREMENT
For ordinary users to be able to unmount FUSE filesystems, the fusermount executable is usually installed with the setuid bit set. This grants it temporary root privileges to perform the necessary kernel system calls for unmounting, while the rest of its execution remains under the calling user's permissions, ensuring security.
MODERN VERSIONS (FUSERMOUNT3)
With the advent of FUSE 3, a new version of the unmounting utility, fusermount3, was introduced. While serving the same core purpose, fusermount3 is designed to work with the updated FUSE 3 API and kernel module. Users should be aware of which version their system and FUSE applications are using to ensure compatibility.
HISTORY
fusermount has been an essential component of the FUSE (Filesystem in Userspace) project since its early development by Miklos Szeredi. It was created to solve the fundamental problem of allowing unprivileged users to manage their own FUSE mounts, bridging the gap between user-space applications and privileged kernel operations. Its evolution has been intertwined with the FUSE library and kernel module, consistently providing a robust and secure mechanism for FUSE filesystem lifecycle management.
SEE ALSO
mount(8), umount(8), fuse(4), mount.fuse(8)