mount_fusefs.8 (256281) | mount_fusefs.8 (306996) |
---|---|
1.\" Copyright (c) 1980, 1989, 1991, 1993 2.\" The Regents of the University of California. 3.\" Copyright (c) 2005, 2006 Csaba Henk 4.\" All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: --- 13 unchanged lines hidden (view full) --- 22.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28.\" SUCH DAMAGE. 29.\" | 1.\" Copyright (c) 1980, 1989, 1991, 1993 2.\" The Regents of the University of California. 3.\" Copyright (c) 2005, 2006 Csaba Henk 4.\" All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: --- 13 unchanged lines hidden (view full) --- 22.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28.\" SUCH DAMAGE. 29.\" |
30.\" $FreeBSD: stable/10/sbin/mount_fusefs/mount_fusefs.8 241527 2012-10-14 07:22:56Z joel $ | 30.\" $FreeBSD: stable/10/sbin/mount_fusefs/mount_fusefs.8 306996 2016-10-10 16:38:07Z sevan $ |
31.\" | 31.\" |
32.Dd October 11, 2012 | 32.Dd October 3, 2016 |
33.Dt MOUNT_FUSEFS 8 34.Os 35.Sh NAME 36.Nm mount_fusefs 37.Nd mount a Fuse file system daemon 38.Sh SYNOPSIS 39.Nm 40.Op Fl A --- 6 unchanged lines hidden (view full) --- 47.Op Fl h 48.Op Fl V 49.Op Fl o Ar option ... 50.Ar special node 51.Op Ar fuse_daemon ... 52.Sh DESCRIPTION 53Basic usage is to start a fuse daemon on the given 54.Ar special | 33.Dt MOUNT_FUSEFS 8 34.Os 35.Sh NAME 36.Nm mount_fusefs 37.Nd mount a Fuse file system daemon 38.Sh SYNOPSIS 39.Nm 40.Op Fl A --- 6 unchanged lines hidden (view full) --- 47.Op Fl h 48.Op Fl V 49.Op Fl o Ar option ... 50.Ar special node 51.Op Ar fuse_daemon ... 52.Sh DESCRIPTION 53Basic usage is to start a fuse daemon on the given 54.Ar special |
55file. In practice, the daemon is assigned a | 55file. 56In practice, the daemon is assigned a |
56.Ar special 57file automatically, which can then be indentified via 58.Xr fstat 1 . 59That special file can then be mounted by 60.Nm . 61.Pp 62However, the procedure of spawning a daemon will usually be automated 63so that it is performed by 64.Nm . 65If the command invoking a given 66.Ar fuse_daemon 67is appended to the list of arguments, 68.Nm 69will call the 70.Ar fuse_daemon | 57.Ar special 58file automatically, which can then be indentified via 59.Xr fstat 1 . 60That special file can then be mounted by 61.Nm . 62.Pp 63However, the procedure of spawning a daemon will usually be automated 64so that it is performed by 65.Nm . 66If the command invoking a given 67.Ar fuse_daemon 68is appended to the list of arguments, 69.Nm 70will call the 71.Ar fuse_daemon |
71via that command. In that way the | 72via that command. 73In that way the |
72.Ar fuse_daemon 73will be instructed to attach itself to 74.Ar special . 75From that on mounting goes as in the simple case. (See 76.Sx DAEMON MOUNTS . ) 77.Pp 78The 79.Ar special --- 16 unchanged lines hidden (view full) --- 96(See 97.Sx DAEMON MOUNTS ) . 98.Pp 99The options are as follows: 100.Bl -tag -width indent 101.It Fl A , Ic --reject-allow_other 102Prohibit the 103.Cm allow_other | 74.Ar fuse_daemon 75will be instructed to attach itself to 76.Ar special . 77From that on mounting goes as in the simple case. (See 78.Sx DAEMON MOUNTS . ) 79.Pp 80The 81.Ar special --- 16 unchanged lines hidden (view full) --- 98(See 99.Sx DAEMON MOUNTS ) . 100.Pp 101The options are as follows: 102.Bl -tag -width indent 103.It Fl A , Ic --reject-allow_other 104Prohibit the 105.Cm allow_other |
104mount flag. Intended for use in scripts and the | 106mount flag. 107Intended for use in scripts and the |
105.Xr sudoers 5 106file. 107.It Fl S , Ic --safe 108Run in safe mode (i.e. reject invoking a filesystem daemon) 109.It Fl v 110Be verbose 111.It Fl D, Ic --daemon Ar daemon 112Call the specified --- 25 unchanged lines hidden (view full) --- 138.It Cm allow_other 139Do not apply 140.Sx STRICT ACCESS POLICY . 141Only root can use this option 142.It Cm max_read Ns = Ns Ar n 143Limit size of read requests to 144.Ar n 145.It Cm private | 108.Xr sudoers 5 109file. 110.It Fl S , Ic --safe 111Run in safe mode (i.e. reject invoking a filesystem daemon) 112.It Fl v 113Be verbose 114.It Fl D, Ic --daemon Ar daemon 115Call the specified --- 25 unchanged lines hidden (view full) --- 141.It Cm allow_other 142Do not apply 143.Sx STRICT ACCESS POLICY . 144Only root can use this option 145.It Cm max_read Ns = Ns Ar n 146Limit size of read requests to 147.Ar n 148.It Cm private |
146Refuse shared mounting of the daemon. This is the default behaviour, 147to allow sharing, expicitly use | 149Refuse shared mounting of the daemon. 150This is the default behaviour, to allow sharing, expicitly use |
148.Fl o Cm noprivate 149.It Cm neglect_shares 150Do not refuse unmounting if there are secondary mounts 151.It Cm push_symlinks_in 152Prefix absolute symlinks with the mountpoint 153.El 154.Pp 155.El 156.Pp 157Besides the above mount options, there is a set of pseudo-mount options which | 151.Fl o Cm noprivate 152.It Cm neglect_shares 153Do not refuse unmounting if there are secondary mounts 154.It Cm push_symlinks_in 155Prefix absolute symlinks with the mountpoint 156.El 157.Pp 158.El 159.Pp 160Besides the above mount options, there is a set of pseudo-mount options which |
158are supported by the Fuse library. One can list these by passing | 161are supported by the Fuse library. 162One can list these by passing |
159.Fl h | 163.Fl h |
160to a Fuse daemon. Most of these options have effect only on the behaviour of 161the daemon (that is, their scope is limited to userspace). However, 162there are some which do require in-kernel support. | 164to a Fuse daemon. 165Most of these options only have affect on the behavior of the daemon (that is, 166their scope is limited to userspace). 167However, there are some which do require in-kernel support. |
163Currently the options supported by the kernel are: 164.Bl -tag -width indent 165.It Cm direct_io 166Bypass the buffer cache system 167.It Cm kernel_cache 168By default cached buffers of a given file are flushed at each 169.Xr open 2 . 170This option disables this behaviour --- 14 unchanged lines hidden (view full) --- 185This is the recommended usage when you want basic usage 186(eg, run the daemon at a low privilege level but mount it as root). 187.Sh STRICT ACCESS POLICY 188The strict access policy for Fuse filesystems lets one to use the filesystem 189only if the filesystem daemon has the same credentials (uid, real uid, gid, 190real gid) as the user. 191.Pp 192This is applied for Fuse mounts by default and only root can mount without | 168Currently the options supported by the kernel are: 169.Bl -tag -width indent 170.It Cm direct_io 171Bypass the buffer cache system 172.It Cm kernel_cache 173By default cached buffers of a given file are flushed at each 174.Xr open 2 . 175This option disables this behaviour --- 14 unchanged lines hidden (view full) --- 190This is the recommended usage when you want basic usage 191(eg, run the daemon at a low privilege level but mount it as root). 192.Sh STRICT ACCESS POLICY 193The strict access policy for Fuse filesystems lets one to use the filesystem 194only if the filesystem daemon has the same credentials (uid, real uid, gid, 195real gid) as the user. 196.Pp 197This is applied for Fuse mounts by default and only root can mount without |
193the strict access policy (ie. the | 198the strict access policy (i.e. the |
194.Cm allow_other 195mount option). 196.Pp 197This is to shield users from the daemon 198.Dq spying 199on their I/O activities. 200.Pp 201Users might opt to willingly relax strict access policy (as far they 202are concerned) by doing their own secondary mount (See 203.Sx SHARED MOUNTS ) . 204.Sh SHARED MOUNTS | 199.Cm allow_other 200mount option). 201.Pp 202This is to shield users from the daemon 203.Dq spying 204on their I/O activities. 205.Pp 206Users might opt to willingly relax strict access policy (as far they 207are concerned) by doing their own secondary mount (See 208.Sx SHARED MOUNTS ) . 209.Sh SHARED MOUNTS |
205A Fuse daemon can be shared (ie. mounted multiple times). | 210A Fuse daemon can be shared (i.e. mounted multiple times). |
206When doing the first (primary) mount, the spawner and the mounter of the daemon 207must have the same uid, or the mounter should be the superuser. 208.Pp 209After the primary mount is in place, secondary mounts can be done by anyone 210unless this feature is disabled by 211.Cm private . 212The behaviour of a secondary mount is analogous to that of symbolic 213links: they redirect all filesystem operations to the primary mount. 214.Pp 215Doing a secondary mount is like signing an agreement: by this action, the mounter | 211When doing the first (primary) mount, the spawner and the mounter of the daemon 212must have the same uid, or the mounter should be the superuser. 213.Pp 214After the primary mount is in place, secondary mounts can be done by anyone 215unless this feature is disabled by 216.Cm private . 217The behaviour of a secondary mount is analogous to that of symbolic 218links: they redirect all filesystem operations to the primary mount. 219.Pp 220Doing a secondary mount is like signing an agreement: by this action, the mounter |
216agrees that the Fuse daemon can trace her I/O activities. From then on 217she is not banned from using the filesystem (either via her own mount or 218via the primary mount), regardless whether | 221agrees that the Fuse daemon can trace her I/O activities. 222From then on she is not banned from using the filesystem 223(either via her own mount or via the primary mount), regardless whether |
219.Cm allow_other 220is used or not. 221.Pp 222The device name of a secondary mount is the device name of the corresponding 223primary mount, followed by a '#' character and the index of the secondary 224mount; e.g. 225.Pa /dev/fuse0#3 . 226.Sh SECURITY 227System administrators might want to use a custom mount policy (ie., one going 228beyond the 229.Va vfs.usermount | 224.Cm allow_other 225is used or not. 226.Pp 227The device name of a secondary mount is the device name of the corresponding 228primary mount, followed by a '#' character and the index of the secondary 229mount; e.g. 230.Pa /dev/fuse0#3 . 231.Sh SECURITY 232System administrators might want to use a custom mount policy (ie., one going 233beyond the 234.Va vfs.usermount |
230sysctl). The primary tool for such purposes is | 235sysctl). 236The primary tool for such purposes is |
231.Xr sudo 8 . 232However, given that 233.Nm 234is capable of invoking an arbitrary program, one must be careful when doing this. 235.Nm | 237.Xr sudo 8 . 238However, given that 239.Nm 240is capable of invoking an arbitrary program, one must be careful when doing this. 241.Nm |
236is designed in a way such that it makes that easy. For this purpose, 237there are options which disable certain risky features (ie. | 242is designed in a way such that it makes that easy. 243For this purpose, there are options which disable certain risky features (i.e. |
238.Fl S 239and 240.Fl A ) , 241and command line parsing is done in a flexible way: mixing options and 242non-options is allowed, but processing them stops at the third non-option 243argument (after the first two has been utilized as device and mountpoint). 244The rest of the command line specifies the daemon and its arguments. 245(Alternatively, the daemon, the special and the mount path can be --- 19 unchanged lines hidden (view full) --- 265This has the same effect as the 266.Fl v 267option. 268.It Ev MOUNT_FUSEFS_IGNORE_UNKNOWN 269If set, 270.Nm 271will ignore uknown mount options. 272.It Ev MOUNT_FUSEFS_CALL_BY_LIB | 244.Fl S 245and 246.Fl A ) , 247and command line parsing is done in a flexible way: mixing options and 248non-options is allowed, but processing them stops at the third non-option 249argument (after the first two has been utilized as device and mountpoint). 250The rest of the command line specifies the daemon and its arguments. 251(Alternatively, the daemon, the special and the mount path can be --- 19 unchanged lines hidden (view full) --- 271This has the same effect as the 272.Fl v 273option. 274.It Ev MOUNT_FUSEFS_IGNORE_UNKNOWN 275If set, 276.Nm 277will ignore uknown mount options. 278.It Ev MOUNT_FUSEFS_CALL_BY_LIB |
273Adjust behaviour to the needs of the FUSE library. Currently it effects 274help output. | 279Adjust behavior to the needs of the FUSE library. 280Currently it effects help output. |
275.El 276.Pp 277Although the following variables do not have any effect on 278.Nm 279itself, they affect the behaviour of fuse daemons: 280.Bl -tag -width ".Ev FUSE_DEV_NAME" 281.It Ev FUSE_DEV_NAME | 281.El 282.Pp 283Although the following variables do not have any effect on 284.Nm 285itself, they affect the behaviour of fuse daemons: 286.Bl -tag -width ".Ev FUSE_DEV_NAME" 287.It Ev FUSE_DEV_NAME |
282Device to attach. If not set, the multiplexer path | 288Device to attach. 289If not set, the multiplexer path |
283.Ar /dev/fuse 284is used. 285.It Ev FUSE_DEV_FD | 290.Ar /dev/fuse 291is used. 292.It Ev FUSE_DEV_FD |
286File desciptor of an opened Fuse device to use. Overrides | 293File desciptor of an opened Fuse device to use. 294Overrides |
287.Ev FUSE_DEV_NAME . 288.It Ev FUSE_NO_MOUNT 289If set, the library will not attempt to mount the filesystem, even 290if a mountpoint argument is supplied. 291.El 292.Sh FILES 293.Bl -tag -width /dev/fuse 294.It Pa /dev/fuse 295Fuse device with which the kernel and Fuse daemons can communicate. 296.It Pa /dev/fuse | 295.Ev FUSE_DEV_NAME . 296.It Ev FUSE_NO_MOUNT 297If set, the library will not attempt to mount the filesystem, even 298if a mountpoint argument is supplied. 299.El 300.Sh FILES 301.Bl -tag -width /dev/fuse 302.It Pa /dev/fuse 303Fuse device with which the kernel and Fuse daemons can communicate. 304.It Pa /dev/fuse |
297The multiplexer path. An | 305The multiplexer path. 306An |
298.Xr open 2 299performed on it automatically is passed to a free Fuse device by the kernel 300(which might be created just for this puprose). 301.El 302.Sh EXAMPLES 303Mount the example filesystem in the Fuse distribution (from its directory): 304either 305.Pp --- 20 unchanged lines hidden (view full) --- 326.Dl mount_fusefs -S /dev/fuse /mnt/fuse \(lq$@\(rq 327.Sh SEE ALSO 328.Xr fstat 1 , 329.Xr mount 8 , 330.Xr umount 8 , 331.Xr sudo 8 332.Sh HISTORY 333.Nm | 307.Xr open 2 308performed on it automatically is passed to a free Fuse device by the kernel 309(which might be created just for this puprose). 310.El 311.Sh EXAMPLES 312Mount the example filesystem in the Fuse distribution (from its directory): 313either 314.Pp --- 20 unchanged lines hidden (view full) --- 335.Dl mount_fusefs -S /dev/fuse /mnt/fuse \(lq$@\(rq 336.Sh SEE ALSO 337.Xr fstat 1 , 338.Xr mount 8 , 339.Xr umount 8 , 340.Xr sudo 8 341.Sh HISTORY 342.Nm |
334appears as the part of the FreeBSD implementation of the Fuse userspace filesystem 335framework (see http://fuse.sourceforge.net). This user interface is FreeBSD specific. | 343appeared in 344.Fx 10.0 345as the part of the 346.Fx 347implementation of the Fuse userspace filesystem 348framework (see http://fuse.sourceforge.net). |
336.Sh CAVEATS | 349.Sh CAVEATS |
337Secondary mounts should be unmounted via their device name. If an attempt is 338made to be unmount them via their filesystem root path, the unmount request 339will be forwarded to the primary mount path. | 350This user interface is 351.Fx 352specific. 353Secondary mounts should be unmounted via their device name. 354If an attempt is made to unmount them via their filesystem root path, 355the unmount request will be forwarded to the primary mount path. |
340In general, unmounting by device name is less error-prone than by mount path 341(although the latter will also work under normal circumstances). 342.Pp 343If the daemon is specified via the 344.Fl D 345and 346.Fl O 347options, it will be invoked via --- 16 unchanged lines hidden --- | 356In general, unmounting by device name is less error-prone than by mount path 357(although the latter will also work under normal circumstances). 358.Pp 359If the daemon is specified via the 360.Fl D 361and 362.Fl O 363options, it will be invoked via --- 16 unchanged lines hidden --- |