LinuxCommandLibrary

fusermount

Unmount FUSE filesystems

TLDR

Unmount a FUSE filesystem

$ fusermount -u [path/to/mount_point]
copy

Unmount a FUSE filesystem as soon as it becomes unused
$ fusermount -z [path/to/mount_point]
copy

Display version
$ fusermount --version
copy

SYNOPSIS

fusermount [-h | -V | -o options | -u | -z | -q | -v] mountpoint

PARAMETERS

-h, --help
    Print help message and usage.

-V, --version
    Print version information.

-o opt[,opt…]
    Specify mount options (subset supported by mount(8)).

-u
    Unmount the FUSE filesystem.

-z
    Lazy unmount (equivalent to umount -l)

-q
    Quiet: don't complain if not a FUSE mount.

-v
    Verbose operation.

DESCRIPTION

FUSE (Filesystem in Userspace) enables users to implement filesystems in user-space without kernel modifications. fusermount is the privileged helper utility in FUSE that handles mounting and unmounting operations. Setuid root, it is invoked automatically by mount(8) for -t fuse or -t fuseblk filesystems and by umount(8) for unmounting them.

It performs security checks, validates mountpoints, and executes kernel mount(2)/umount(2) calls. Mounting passes control to the FUSE daemon after setup; unmounting (via -u) signals the daemon for cleanup and detaches the mount.

Direct invocation is uncommon—prefer mount/umount—but fusermount offers extras like lazy unmount (-z) for busy mounts and quiet mode (-q). This isolates privileges to a minimal binary, enhancing security against malicious filesystems. Widely used in tools like sshfs, ntfs-3g, and encfs.

CAVEATS

fusermount requires setuid root privileges; tampering risks system access. Use mount/umount instead of direct calls. Fails on non-FUSE mounts unless -q; lazy unmount (-z) may leave processes hanging.

EXAMPLES

fusermount -u /mnt/myfuse
Unmount FUSE mount at /mnt/myfuse.

fusermount -uz /mnt/myfuse
Lazy unmount busy mount quietly.

SECURITY NOTE

As setuid binary, audit for vulnerabilities. FUSE restricts kernel exposure via fusermount's validation.

HISTORY

Introduced in FUSE 2.0 (2005) by Miklos Szeredi. Evolved through FUSE versions for better security (e.g., allow_other checks) and compatibility with libfuse3 (fusermount3). Key in popular tools since Linux 2.6.14.

SEE ALSO

mount(8), umount(8), fusermount3(1), fuse(8)

Copied to clipboard