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.