Note mount_fusefs appeared in FreeBSD 10.
Move note regarding implementation to caveats. Address issued raised by Igor. PR: 212513 Approved by: bcr (mentor) MFC after: 4 days Differential Revision: https://reviews.freebsd.org/D8105
This commit is contained in:
parent
4876636eb7
commit
51a2bd2f20
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=306610
@ -29,7 +29,7 @@
|
|||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.\"
|
.\"
|
||||||
.Dd October 11, 2012
|
.Dd October 3, 2016
|
||||||
.Dt MOUNT_FUSEFS 8
|
.Dt MOUNT_FUSEFS 8
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@ -52,7 +52,8 @@
|
|||||||
.Sh DESCRIPTION
|
.Sh DESCRIPTION
|
||||||
Basic usage is to start a fuse daemon on the given
|
Basic usage is to start a fuse daemon on the given
|
||||||
.Ar special
|
.Ar special
|
||||||
file. In practice, the daemon is assigned a
|
file.
|
||||||
|
In practice, the daemon is assigned a
|
||||||
.Ar special
|
.Ar special
|
||||||
file automatically, which can then be indentified via
|
file automatically, which can then be indentified via
|
||||||
.Xr fstat 1 .
|
.Xr fstat 1 .
|
||||||
@ -68,7 +69,8 @@ is appended to the list of arguments,
|
|||||||
.Nm
|
.Nm
|
||||||
will call the
|
will call the
|
||||||
.Ar fuse_daemon
|
.Ar fuse_daemon
|
||||||
via that command. In that way the
|
via that command.
|
||||||
|
In that way the
|
||||||
.Ar fuse_daemon
|
.Ar fuse_daemon
|
||||||
will be instructed to attach itself to
|
will be instructed to attach itself to
|
||||||
.Ar special .
|
.Ar special .
|
||||||
@ -101,7 +103,8 @@ The options are as follows:
|
|||||||
.It Fl A , Ic --reject-allow_other
|
.It Fl A , Ic --reject-allow_other
|
||||||
Prohibit the
|
Prohibit the
|
||||||
.Cm allow_other
|
.Cm allow_other
|
||||||
mount flag. Intended for use in scripts and the
|
mount flag.
|
||||||
|
Intended for use in scripts and the
|
||||||
.Xr sudoers 5
|
.Xr sudoers 5
|
||||||
file.
|
file.
|
||||||
.It Fl S , Ic --safe
|
.It Fl S , Ic --safe
|
||||||
@ -143,8 +146,8 @@ Only root can use this option
|
|||||||
Limit size of read requests to
|
Limit size of read requests to
|
||||||
.Ar n
|
.Ar n
|
||||||
.It Cm private
|
.It Cm private
|
||||||
Refuse shared mounting of the daemon. This is the default behaviour,
|
Refuse shared mounting of the daemon.
|
||||||
to allow sharing, expicitly use
|
This is the default behaviour, to allow sharing, expicitly use
|
||||||
.Fl o Cm noprivate
|
.Fl o Cm noprivate
|
||||||
.It Cm neglect_shares
|
.It Cm neglect_shares
|
||||||
Do not refuse unmounting if there are secondary mounts
|
Do not refuse unmounting if there are secondary mounts
|
||||||
@ -154,11 +157,13 @@ Prefix absolute symlinks with the mountpoint
|
|||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
Besides the above mount options, there is a set of pseudo-mount options which
|
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
|
are supported by the Fuse library.
|
||||||
|
One can list these by passing
|
||||||
.Fl h
|
.Fl h
|
||||||
to a Fuse daemon. Most of these options have effect only on the behaviour of
|
to a Fuse daemon.
|
||||||
the daemon (that is, their scope is limited to userspace). However,
|
Most of these options only have affect on the behavior of the daemon (that is,
|
||||||
there are some which do require in-kernel support.
|
their scope is limited to userspace).
|
||||||
|
However, there are some which do require in-kernel support.
|
||||||
Currently the options supported by the kernel are:
|
Currently the options supported by the kernel are:
|
||||||
.Bl -tag -width indent
|
.Bl -tag -width indent
|
||||||
.It Cm direct_io
|
.It Cm direct_io
|
||||||
@ -189,7 +194,7 @@ only if the filesystem daemon has the same credentials (uid, real uid, gid,
|
|||||||
real gid) as the user.
|
real gid) as the user.
|
||||||
.Pp
|
.Pp
|
||||||
This is applied for Fuse mounts by default and only root can mount without
|
This is applied for Fuse mounts by default and only root can mount without
|
||||||
the strict access policy (ie. the
|
the strict access policy (i.e. the
|
||||||
.Cm allow_other
|
.Cm allow_other
|
||||||
mount option).
|
mount option).
|
||||||
.Pp
|
.Pp
|
||||||
@ -201,7 +206,7 @@ Users might opt to willingly relax strict access policy (as far they
|
|||||||
are concerned) by doing their own secondary mount (See
|
are concerned) by doing their own secondary mount (See
|
||||||
.Sx SHARED MOUNTS ) .
|
.Sx SHARED MOUNTS ) .
|
||||||
.Sh SHARED MOUNTS
|
.Sh SHARED MOUNTS
|
||||||
A Fuse daemon can be shared (ie. mounted multiple times).
|
A Fuse daemon can be shared (i.e. mounted multiple times).
|
||||||
When doing the first (primary) mount, the spawner and the mounter of the daemon
|
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.
|
must have the same uid, or the mounter should be the superuser.
|
||||||
.Pp
|
.Pp
|
||||||
@ -212,9 +217,9 @@ The behaviour of a secondary mount is analogous to that of symbolic
|
|||||||
links: they redirect all filesystem operations to the primary mount.
|
links: they redirect all filesystem operations to the primary mount.
|
||||||
.Pp
|
.Pp
|
||||||
Doing a secondary mount is like signing an agreement: by this action, the mounter
|
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
|
agrees that the Fuse daemon can trace her I/O activities.
|
||||||
she is not banned from using the filesystem (either via her own mount or
|
From then on she is not banned from using the filesystem
|
||||||
via the primary mount), regardless whether
|
(either via her own mount or via the primary mount), regardless whether
|
||||||
.Cm allow_other
|
.Cm allow_other
|
||||||
is used or not.
|
is used or not.
|
||||||
.Pp
|
.Pp
|
||||||
@ -226,14 +231,15 @@ mount; e.g.
|
|||||||
System administrators might want to use a custom mount policy (ie., one going
|
System administrators might want to use a custom mount policy (ie., one going
|
||||||
beyond the
|
beyond the
|
||||||
.Va vfs.usermount
|
.Va vfs.usermount
|
||||||
sysctl). The primary tool for such purposes is
|
sysctl).
|
||||||
|
The primary tool for such purposes is
|
||||||
.Xr sudo 8 .
|
.Xr sudo 8 .
|
||||||
However, given that
|
However, given that
|
||||||
.Nm
|
.Nm
|
||||||
is capable of invoking an arbitrary program, one must be careful when doing this.
|
is capable of invoking an arbitrary program, one must be careful when doing this.
|
||||||
.Nm
|
.Nm
|
||||||
is designed in a way such that it makes that easy. For this purpose,
|
is designed in a way such that it makes that easy.
|
||||||
there are options which disable certain risky features (ie.
|
For this purpose, there are options which disable certain risky features (i.e.
|
||||||
.Fl S
|
.Fl S
|
||||||
and
|
and
|
||||||
.Fl A ) ,
|
.Fl A ) ,
|
||||||
@ -269,8 +275,8 @@ If set,
|
|||||||
.Nm
|
.Nm
|
||||||
will ignore uknown mount options.
|
will ignore uknown mount options.
|
||||||
.It Ev MOUNT_FUSEFS_CALL_BY_LIB
|
.It Ev MOUNT_FUSEFS_CALL_BY_LIB
|
||||||
Adjust behaviour to the needs of the FUSE library. Currently it effects
|
Adjust behavior to the needs of the FUSE library.
|
||||||
help output.
|
Currently it effects help output.
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
Although the following variables do not have any effect on
|
Although the following variables do not have any effect on
|
||||||
@ -278,11 +284,13 @@ Although the following variables do not have any effect on
|
|||||||
itself, they affect the behaviour of fuse daemons:
|
itself, they affect the behaviour of fuse daemons:
|
||||||
.Bl -tag -width ".Ev FUSE_DEV_NAME"
|
.Bl -tag -width ".Ev FUSE_DEV_NAME"
|
||||||
.It Ev FUSE_DEV_NAME
|
.It Ev FUSE_DEV_NAME
|
||||||
Device to attach. If not set, the multiplexer path
|
Device to attach.
|
||||||
|
If not set, the multiplexer path
|
||||||
.Ar /dev/fuse
|
.Ar /dev/fuse
|
||||||
is used.
|
is used.
|
||||||
.It Ev FUSE_DEV_FD
|
.It Ev FUSE_DEV_FD
|
||||||
File desciptor of an opened Fuse device to use. Overrides
|
File desciptor of an opened Fuse device to use.
|
||||||
|
Overrides
|
||||||
.Ev FUSE_DEV_NAME .
|
.Ev FUSE_DEV_NAME .
|
||||||
.It Ev FUSE_NO_MOUNT
|
.It Ev FUSE_NO_MOUNT
|
||||||
If set, the library will not attempt to mount the filesystem, even
|
If set, the library will not attempt to mount the filesystem, even
|
||||||
@ -293,7 +301,8 @@ if a mountpoint argument is supplied.
|
|||||||
.It Pa /dev/fuse
|
.It Pa /dev/fuse
|
||||||
Fuse device with which the kernel and Fuse daemons can communicate.
|
Fuse device with which the kernel and Fuse daemons can communicate.
|
||||||
.It Pa /dev/fuse
|
.It Pa /dev/fuse
|
||||||
The multiplexer path. An
|
The multiplexer path.
|
||||||
|
An
|
||||||
.Xr open 2
|
.Xr open 2
|
||||||
performed on it automatically is passed to a free Fuse device by the kernel
|
performed on it automatically is passed to a free Fuse device by the kernel
|
||||||
(which might be created just for this puprose).
|
(which might be created just for this puprose).
|
||||||
@ -330,12 +339,19 @@ does not call any external utility and also provides a hacky
|
|||||||
.Xr umount 8
|
.Xr umount 8
|
||||||
.Sh HISTORY
|
.Sh HISTORY
|
||||||
.Nm
|
.Nm
|
||||||
appears as the part of the FreeBSD implementation of the Fuse userspace filesystem
|
appeared in
|
||||||
framework (see http://fuse.sourceforge.net). This user interface is FreeBSD specific.
|
.Fx 10.0
|
||||||
|
as the part of the
|
||||||
|
.Fx
|
||||||
|
implementation of the Fuse userspace filesystem
|
||||||
|
framework (see http://fuse.sourceforge.net).
|
||||||
.Sh CAVEATS
|
.Sh CAVEATS
|
||||||
Secondary mounts should be unmounted via their device name. If an attempt is
|
This user interface is
|
||||||
made to be unmount them via their filesystem root path, the unmount request
|
.Fx
|
||||||
will be forwarded to the primary mount path.
|
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
|
In general, unmounting by device name is less error-prone than by mount path
|
||||||
(although the latter will also work under normal circumstances).
|
(although the latter will also work under normal circumstances).
|
||||||
.Pp
|
.Pp
|
||||||
|
Loading…
Reference in New Issue
Block a user