|
NAMEmount_fusefs —
mount a Fuse file system daemon
SYNOPSIS
DESCRIPTIONBasic usage is to start a fuse daemon on the given special file. In practice, the daemon is assigned a special file automatically, which can then be identified via fstat(1). That special file can then be mounted bymount_fusefs .
However, the procedure of spawning a daemon will usually be
automated so that it is performed by The special argument will normally be treated as the path of the special file to mount. However, if auto is passed as
special, then Finally, if special is an integer it will be
interpreted as the number of the file descriptor of an already open fuse
device (used when the Fuse library invokes
The options are as follows:
Besides the above mount options, there is a set of pseudo-mount
options which are supported by the Fuse library. One can list these by
passing
DAEMON MOUNTSUsually users do not need to usemount_fusefs directly,
as the Fuse library enables Fuse daemons to invoke
mount_fusefs . That is,
fuse_daemon device
mountpoint has the same effect as mount_fusefs auto mountpoint
fuse_daemon This is the recommended usage when you want basic usage (eg, run the daemon at a low privilege level but mount it as root). STRICT ACCESS POLICYThe strict access policy for Fuse filesystems lets one use the filesystem only if the filesystem daemon has the same credentials (uid, real uid, gid, real gid) as the user.This is applied for Fuse mounts by default and only root can mount
without the strict access policy (i.e., the
This is to shield users from the daemon “spying” on their I/O activities. Users might opt to willingly relax strict access policy (as far as they are concerned) by doing their own secondary mount (See SHARED MOUNTS). SHARED MOUNTSA Fuse daemon can be shared (i.e., mounted multiple times). When doing the first (primary) mount, the spawner and the mounter of the daemon must have the same uid, or the mounter should be the superuser.After the primary mount is in place, secondary mounts can be done
by anyone unless this feature is disabled by
Doing a secondary mount is like signing an agreement: by this
action, the mounter agrees that the Fuse daemon can trace her I/O
activities. From then on she is not banned from using the filesystem (either
via her own mount or via the primary mount), regardless whether
The device name of a secondary mount is the device name of the corresponding primary mount, followed by a '#' character and the index of the secondary mount; e.g., /dev/fuse0#3. SECURITYSystem administrators might want to use a custom mount policy (ie., one going beyond the vfs.usermount sysctl). The primary tool for such purposes is sudo(8). However, given thatmount_fusefs is capable of
invoking an arbitrary program, one must be careful when doing this.
mount_fusefs is designed in a way such that it makes
that easy. For this purpose, there are options which disable certain risky
features (-S and -A ), and
command line parsing is done in a flexible way: mixing options and non-options
is allowed, but processing them stops at the third non-option argument (after
the first two have been utilized as device and mountpoint). The rest of the
command line specifies the daemon and its arguments. (Alternatively, the
daemon, the special and the mount path can be specified using the respective
options.) Note that mount_fusefs ignores the
environment variable POSIXLY_CORRECT and always
behaves as described.
In general, to be as scripting / sudoers(5) friendly as possible, no information has a fixed position in the command line, but once a given piece of information is provided, subsequent arguments/options cannot override it (with the exception of some non-critical ones). ENVIRONMENT
Although the following variables do not have any effect on
FILES
EXAMPLESMount the example filesystem in the Fuse distribution (from its directory): either./fusexmp /mnt/fuse or mount_fusefs auto /mnt/fuse
./fusexmp Doing the same in two steps, using /dev/fuse0: FUSE_DEV_NAME=/dev/fuse ./fusexmp
&& mount_fusefs /dev/fuse
/mnt/fuse A script wrapper for fusexmp which ensures that
#!/bin/sh -e FUSE_DEV_NAME=/dev/fuse
fusexmp mount_fusefs -S /dev/fuse /mnt/fuse
“$@” SEE ALSOfstat(1), mount(8), sudo(8), umount(8)HISTORYmount_fusefs was written as the part of the
FreeBSD implementation of the Fuse userspace
filesystem framework (see
https://github.com/libfuse/libfuse)
and first appeared in the sysutils/fusefs-kmod port,
supporting FreeBSD 6.0. It was added to the base
system in FreeBSD 10.0.
CAVEATSThis user interface is FreeBSD specific. Secondary mounts should be unmounted via their device name. If an attempt is made to unmount them via their filesystem root path, the unmount request will be forwarded to the primary mount path. In general, unmounting by device name is less error-prone than by mount path (although the latter will also work under normal circumstances).If the daemon is specified via the BUGSspecial is treated as a multiplexer if and only if it is literally the same as auto or /dev/fuse. Other paths which are equivalent with /dev/fuse (eg., /../dev/fuse) are not.
Visit the GSP FreeBSD Man Page Interface. |