1 |
General Information |
2 |
=================== |
3 |
|
4 |
FUSE (Filesystem in USErspace) is a simple interface for userspace |
5 |
programs to export a virtual filesystem to the linux kernel. FUSE |
6 |
also aims to provide a secure method for non privileged users to |
7 |
create and mount their own filesystem implementations. |
8 |
|
9 |
You can download the source code releases from |
10 |
|
11 |
http://sourceforge.net/projects/avf |
12 |
|
13 |
or alternatively you can use CVS to get the very latest development |
14 |
version by setting the cvsroot to |
15 |
|
16 |
:pserver:anonymous@cvs.avf.sourceforge.net:/cvsroot/avf |
17 |
|
18 |
and checking out the 'fuse' module. |
19 |
|
20 |
Installation |
21 |
============ |
22 |
|
23 |
./configure |
24 |
make |
25 |
make install |
26 |
|
27 |
Also see the file 'INSTALL' |
28 |
|
29 |
How To Use |
30 |
========== |
31 |
|
32 |
FUSE is made up of three main parts: |
33 |
|
34 |
- A kernel filesystem module |
35 |
|
36 |
- A userspace library |
37 |
|
38 |
- A mount/unmount program |
39 |
|
40 |
|
41 |
Here's how to create your very own virtual filesystem in five easy |
42 |
steps (after installing FUSE): |
43 |
|
44 |
1) Edit the file example/fusexmp.c to do whatever you want... |
45 |
|
46 |
2) Build the fusexmp program |
47 |
|
48 |
3) run 'example/fusexmp /mnt/fuse -d' |
49 |
|
50 |
4) ls -al /mnt/fuse |
51 |
|
52 |
5) Be glad |
53 |
|
54 |
If it doesn't work out, please ask! Also see the file 'include/fuse.h' for |
55 |
detailed documentation of the library interface. |
56 |
|
57 |
Security |
58 |
======== |
59 |
|
60 |
If you run 'make install', the fusermount program is installed |
61 |
set-user-id to root. This is done to allow normal users to mount |
62 |
their own filesystem implementations. |
63 |
|
64 |
There must however be some limitations, in order to prevent Bad User from |
65 |
doing nasty things. Currently those limitations are: |
66 |
|
67 |
- The user can only mount on a mountpoint, for which it has write |
68 |
permission |
69 |
|
70 |
- The mountpoint is not a sticky directory which isn't owned by the |
71 |
user (like /tmp usually is) |
72 |
|
73 |
- No other user (including root) can access the contents of the mounted |
74 |
filesystem. |