1fuse(8)                     System Manager's Manual                    fuse(8)
2
3
4

NAME

6       fuse - format and options for the fuse file systems
7

DESCRIPTION

9       FUSE (Filesystem in Userspace) is a simple interface for userspace pro‐
10       grams to export a virtual filesystem to the  Linux  kernel.  FUSE  also
11       aims  to provide a secure method for non privileged users to create and
12       mount their own filesystem implementations.
13

CONFIGURATION

15       Some  options  regarding  mount  policy  can  be  set   in   the   file
16       /etc/fuse.conf. Currently these options are:
17
18       mount_max = NNN
19              Set the maximum number of FUSE mounts allowed to non-root users.
20              The default is 1000.
21
22       user_allow_other
23              Allow non-root users to specify the  allow_other  or  allow_root
24              mount options (see below).
25

OPTIONS

27       Most of the generic mount options described in mount are supported (ro,
28       rw, suid, nosuid, dev,  nodev,  exec,  noexec,  atime,  noatime,  sync,
29       async,  dirsync). Filesystems are mounted with nodev,nosuid by default,
30       which can only be overridden by a privileged user.
31
32   General mount options:
33       These are FUSE specific mount options that can  be  specified  for  all
34       filesystems:
35
36       default_permissions
37              By  default  FUSE  doesn't  check  file  access permissions, the
38              filesystem is free to implement it's access policy or  leave  it
39              to the underlying file access mechanism (e.g. in case of network
40              filesystems). This option enables permission checking, restrict‐
41              ing access based on file mode.  This is option is usually useful
42              together with the allow_other mount option.
43
44       allow_other
45              This option overrides  the  security  measure  restricting  file
46              access  to  the  user  mounting  the  filesystem.   So all users
47              (including root) can  access  the  files.   This  option  is  by
48              default  only  allowed  to  root,  but  this  restriction can be
49              removed with a configuration option described  in  the  previous
50              section.
51
52       allow_root
53              This option is similar to allow_other but file access is limited
54              to the user mounting the filesystem and root.  This  option  and
55              allow_other are mutually exclusive.
56
57       kernel_cache
58              This  option disables flushing the cache of the file contents on
59              every open(2).  This should  only  be  enabled  on  filesystems,
60              where the file data is never changed externally (not through the
61              mounted FUSE filesystem).  Thus it is not suitable  for  network
62              filesystems and other intermediate filesystems.
63
64              NOTE:  if  this  option is not specified (and neither direct_io)
65              data is still cached after the open(2), so a read(2) system call
66              will not always initiate a read operation.
67
68       auto_cache
69              This  option  enables  automatic  flushing  of the data cache on
70              open(2). The cache will only be flushed if the modification time
71              or the size of the file has changed.
72
73       large_read
74              Issue  large  read  requests.   This can improve performance for
75              some filesystems, but can also degrade performance. This  option
76              is only useful on 2.4.X kernels, as on 2.6 kernels requests size
77              is automatically determined for optimum performance.
78
79       direct_io
80              This option disables the use of page cache (file content  cache)
81              in the kernel for this filesystem. This has several affects:
82
83       1.     Each  read(2)  or write(2) system call will initiate one or more
84              read or write operations, data will not be cached in the kernel.
85
86       2.     The return value of the read() and  write()  system  calls  will
87              correspond  to  the  return  values of the read and write opera‐
88              tions. This is useful for example if the file size is not  known
89              in advance (before reading it).
90
91       max_read=N
92              With this option the maximum size of read operations can be set.
93              The default is infinite. Note that the size of read requests  is
94              limited anyway to 32 pages (which is 128kbyte on i386).
95
96       max_readahead=N
97              Set  the  maximum number of bytes to read-ahead.  The default is
98              determined by the kernel. On linux-2.6.22 or earlier it's 131072
99              (128kbytes)
100
101       max_write=N
102              Set the maximum number of bytes in a single write operation. The
103              default is 128kbytes.  Note, that due  to  various  limitations,
104              the  size  of write requests can be much smaller (4kbytes). This
105              limitation will be removed in the future.
106
107       async_read
108              Perform reads asynchronously. This is the default
109
110       sync_read
111              Perform all reads (even read-ahead) synchronously.
112
113       hard_remove
114              The default behavior is that if an open  file  is  deleted,  the
115              file  is  renamed  to  a hidden file (.fuse_hiddenXXX), and only
116              removed when the file is finally released.   This  relieves  the
117              filesystem  implementation  of having to deal with this problem.
118              This option disables the hiding behavior, and files are  removed
119              immediately  in  an  unlink  operation (or in a rename operation
120              which overwrites an existing file).
121
122              It is recommended that you not use the hard_remove option.  When
123              hard_remove  is  set,  the  following  libc  functions  fail  on
124              unlinked files (returning errno of ENOENT):  read(2),  write(2),
125              fsync(2),  close(2),  f*xattr(2),  ftruncate(2),  fstat(2), fch‐
126              mod(2), fchown(2)
127
128       debug  Turns on debug information printing by the library.
129
130       fsname=NAME
131              Sets the filesystem  source  (first  field  in  /etc/mtab).  The
132              default is the mount program name.
133
134       subtype=TYPE
135              Sets the filesystem type (third field in /etc/mtab). The default
136              is the mount program name. If the kernel suppports it, /etc/mtab
137              and /proc/mounts will show the filesystem type as fuse.TYPE
138
139              If the kernel doesn't support subtypes, the source filed will be
140              TYPE#NAME, or if fsname option is not specified, just TYPE.
141
142       use_ino
143              Honor  the  st_ino  field  in  kernel  functions  getattr()  and
144              fill_dir().  This  value  is used to fill in the st_ino field in
145              the stat(2), lstat(2), fstat(2) functions and the d_ino field in
146              the readdir(2) function. The filesystem does not have to guaran‐
147              tee uniqueness, however some applications  rely  on  this  value
148              being unique for the whole filesystem.
149
150       readdir_ino
151              If  use_ino  option is not given, still try to fill in the d_ino
152              field in readdir(2). If the name was previously looked  up,  and
153              is  still  in  the  cache,  the inode number found there will be
154              used. Otherwise it will be set to  -1.   If  use_ino  option  is
155              given, this option is ignored.
156
157       nonempty
158              Allows  mounts  over  a  non-empty file or directory. By default
159              these  mounts are rejected to prevent accidental covering up  of
160              data, which could for example prevent automatic backup.
161
162       umask=M
163              Override  the  permission bits in st_mode set by the filesystem.
164              The resulting permission bits are  the  ones  missing  from  the
165              given umask value.  The value is given in octal representation.
166
167       uid=N  Override the st_uid field set by the filesystem (N is numeric).
168
169       gid=N  Override the st_gid field set by the filesystem (N is numeric).
170
171       blkdev Mount  a  filesystem backed by a block device.  This is a privi‐
172              leged option. The device must be specified with the  fsname=NAME
173              option.
174
175       entry_timeout=T
176              The  timeout  in  seconds for which name lookups will be cached.
177              The default is 1.0 second. For all the timeout  options,  it  is
178              possible to give fractions of a second as well (e.g. entry_time‐
179              out=2.8)
180
181       negative_timeout=T
182              The timeout in seconds for  which  a  negative  lookup  will  be
183              cached.  This  means, that if file did not exist (lookup retuned
184              ENOENT), the lookup will only be redone after the  timeout,  and
185              the file/directory will be assumed to not exist until then.  The
186              default is 0.0 second, meaning that caching negative lookups are
187              disabled.
188
189       attr_timeout=T
190              The  timeout  in seconds for which file/directory attributes are
191              cached.  The default is 1.0 second.
192
193       ac_attr_timeout=T
194              The timeout in seconds for which file attributes are cached  for
195              the purpose of checking if auto_cache should flush the file data
196              on  open. The default is the value of attr_timeout
197
198       intr   Allow requests to be interrupted.  Turning on  this  option  may
199              result  in  unexpected behavior, if the filesystem does not sup‐
200              port request interruption.
201
202       intr_signal=NUM
203              Specify which signal number to send to  the  filesystem  when  a
204              request is interrupted.  The default is hardcoded to USR1.
205
206       modules=M1[:M2...]
207              Add  modules to the filesystem stack.  Modules are pushed in the
208              order they are specified, with the original filesystem being  on
209              the bottom of the stack.
210

FUSE MODULES (STACKING)

212       Modules  are  filesystem stacking support to high level API. Filesystem
213       modules can be built into libfuse or loaded from shared object
214
215   iconv
216       Perform file name character set conversion.  Options are:
217
218       from_code=CHARSET
219              Character set to convert from (see iconv -l for a list of possi‐
220              ble values). Default is UTF-8.
221
222       to_code=CHARSET
223              Character  set to convert to.  Default is determined by the cur‐
224              rent locale.
225
226   subdir
227       Prepend a given directory to each path. Options are:
228
229       subdir=DIR
230              Directory to prepend to all paths.  This option is mandatory.
231
232       rellinks
233              Transform absolute symlinks into relative
234
235       norellinks
236              Do not transform absolute symlinks into relative.  This  is  the
237              default.
238

SECURITY

240       The  fusermount program is installed set-user-gid to fuse. This is done
241       to allow users from fuse group to mount their own filesystem  implemen‐
242       tations.   There  must however be some limitations, in order to prevent
243       Bad User from doing nasty things.  Currently those limitations are:
244
245       1.     The user can only mount on a mountpoint, for which it has  write
246              permission
247
248       2.     The  mountpoint  is  not a sticky directory which isn't owned by
249              the user (like /tmp usually is)
250
251       3.     No other user (including root) can access the  contents  of  the
252              mounted filesystem.
253

NOTE

255       FUSE  filesystems are unmounted using the fusermount(1) command (fuser‐
256       mount -u mountpoint).
257

AUTHORS

259       The main author of FUSE is Miklos Szeredi <mszeredi@inf.bme.hu>.
260
261       This   man   page   was   written   by    Bastien    Roucaries    <rou‐
262       caries.bastien+debian@gmail.com>  for the Debian GNU/Linux distribution
263       (but it may be used by others) from README file.
264

SEE ALSO

266       fusermount(1) mount(8)
267
268
269
270                                                                       fuse(8)
Impressum