mirror of
https://github.com/libfuse/libfuse.git
synced 2024-11-24 04:34:13 +08:00
75 lines
1.8 KiB
Plaintext
75 lines
1.8 KiB
Plaintext
General Information
|
|
===================
|
|
|
|
FUSE (Filesystem in USErspace) is a simple interface for userspace
|
|
programs to export a virtual filesystem to the linux kernel. FUSE
|
|
also aims to provide a secure method for non privileged users to
|
|
create and mount their own filesystem implementations.
|
|
|
|
You can download the source code releases from
|
|
|
|
http://sourceforge.net/projects/fuse
|
|
|
|
or alternatively you can use CVS to get the very latest development
|
|
version by setting the cvsroot to
|
|
|
|
:pserver:anonymous@cvs.sourceforge.net:/cvsroot/fuse
|
|
|
|
and checking out the 'fuse' module.
|
|
|
|
Installation
|
|
============
|
|
|
|
./configure
|
|
make
|
|
make install
|
|
|
|
Also see the file 'INSTALL'
|
|
|
|
How To Use
|
|
==========
|
|
|
|
FUSE is made up of three main parts:
|
|
|
|
- A kernel filesystem module
|
|
|
|
- A userspace library
|
|
|
|
- A mount/unmount program
|
|
|
|
|
|
Here's how to create your very own virtual filesystem in five easy
|
|
steps (after installing FUSE):
|
|
|
|
1) Edit the file example/fusexmp.c to do whatever you want...
|
|
|
|
2) Build the fusexmp program
|
|
|
|
3) run 'example/fusexmp /mnt/fuse -d'
|
|
|
|
4) ls -al /mnt/fuse
|
|
|
|
5) Be glad
|
|
|
|
If it doesn't work out, please ask! Also see the file 'include/fuse.h' for
|
|
detailed documentation of the library interface.
|
|
|
|
Security
|
|
========
|
|
|
|
If you run 'make install', the fusermount program is installed
|
|
set-user-id to root. This is done to allow normal users to mount
|
|
their own filesystem implementations.
|
|
|
|
There must however be some limitations, in order to prevent Bad User from
|
|
doing nasty things. Currently those limitations are:
|
|
|
|
- The user can only mount on a mountpoint, for which it has write
|
|
permission
|
|
|
|
- The mountpoint is not a sticky directory which isn't owned by the
|
|
user (like /tmp usually is)
|
|
|
|
- No other user (including root) can access the contents of the mounted
|
|
filesystem.
|