mount.fuse
Mount FUSE (Filesystem in Userspace) filesystems
SYNOPSIS
mount.fuse <fuse_driver_name> <mount_point> [-o <options>]
Note: This command is usually invoked indirectly by mount(8), for example:
mount -t fuse.<fuse_driver_name> <source> <mount_point> [-o <options>]
PARAMETERS
<fuse_driver_name>
The name of the specific FUSE driver (e.g., sshfs, ntfs-3g) being mounted. This argument often serves as the 'source' for the FUSE filesystem when used with mount -t fuse.
<mount_point>
The target directory where the FUSE filesystem will be mounted. This directory must exist prior to mounting.
-o <options>
A comma-separated list of mount options. These options are typically passed through mount.fuse to the fusermount utility and subsequently to the FUSE kernel module and the user-space FUSE daemon. Common FUSE-specific options include: allow_other, default_permissions, ro (read-only), rw (read-write), user_id=ID, group_id=ID, nonempty, fsname=NAME, subtype=NAME.
DESCRIPTION
mount.fuse is a specialized helper program used by the standard mount(8) command to facilitate the mounting of Filesystem in Userspace (FUSE) filesystems. Unlike most filesystem-specific mount helpers (e.g., mount.nfs, mount.cifs), mount.fuse doesn't directly implement the filesystem logic. Instead, it acts as an intermediary, forwarding the mount request and options to the fusermount(1) utility, which then handles the actual interaction with the FUSE kernel module and the user-space FUSE daemon. This architecture allows users to implement new filesystems without needing kernel-level privileges, as the core logic runs entirely in user space. mount.fuse is typically located in /sbin/mount.fuse and is invoked automatically by mount when the filesystem type fuse or fuse.<driver_name> is specified.
CAVEATS
mount.fuse is generally not meant for direct user invocation. It's an internal helper used by the mount(8) command. Users should typically use mount -t fuse... or fusermount directly.
Requires the FUSE kernel module to be loaded.
Care must be taken with options like allow_other or allow_root, as they can have security implications by giving other users or root access to the mounted filesystem.
Permissions: The user_id and group_id options are crucial for setting the ownership of files within the FUSE filesystem when mounted by root. When mounted by an unprivileged user via fusermount, the filesystem is typically only accessible by that user by default.
HELPER ROLE
mount.fuse is not a standalone filesystem driver. It is a "mount helper" that gets executed by the mount command when a filesystem type starting with fuse. is specified (e.g., mount -t fuse.sshfs). Its primary function is to invoke fusermount with the appropriate arguments and options derived from the mount command line.
TYPICAL LOCATION
This executable is typically found in /sbin/mount.fuse. The system's mount command searches for specific helpers (like mount.ext4 for ext4 filesystems) in /sbin based on the -t (type) argument.
USER VS. ROOT MOUNTING
While mount.fuse is predominantly used by the root user via mount -t fuse..., unprivileged users typically mount FUSE filesystems directly using fusermount (e.g., sshfs user@host:/remote /local), which bypasses mount.fuse. However, if an unprivileged user is permitted to use the mount command via /etc/fstab entries, mount.fuse would still be invoked.
HISTORY
The FUSE (Filesystem in Userspace) project originated in 2002, developed by Miklos Szeredi, with the goal of allowing non-privileged users to create and mount new filesystems without modifying kernel code. The mount.fuse helper emerged as part of the FUSE ecosystem to integrate seamlessly with the standard Linux mount(8) command. Its role has remained consistent: to act as the bridge between mount and the fusermount utility, ensuring that FUSE filesystems can be managed using the familiar mount syntax. This integration has been pivotal in the widespread adoption of various user-space filesystems like sshfs, ntfs-3g, and many others.
SEE ALSO
mount(8), fusermount(1), umount(8)


