⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 linux下的用户文件系统fuse-2.5.2
💻
字号:
General Information===================FUSE (Filesystem in Userspace) is a simple interface for userspaceprograms to export a virtual filesystem to the Linux kernel.  FUSEalso aims to provide a secure method for non privileged users tocreate and mount their own filesystem implementations.You can download the source code releases from  http://sourceforge.net/projects/fuseor alternatively you can use CVS to get the very latest developmentversion by setting the cvsroot to  :pserver:anonymous@cvs.sourceforge.net:/cvsroot/fuseand checking out the 'fuse' module.Dependencies============Linux kernel version 2.4.X where X >= 21 (some vendor kernels earlierthan this are also known to work).Linux kernel version 2.6.X where X >= 0.Installation============./configuremakemake installmodprobe fuseYou may also need to add '/usr/local/lib' to '/etc/ld.so.conf' and/orrun ldconfig.Linux kernels 2.6.14 or later contain FUSE support out of the box.  IfFUSE support is detected, the kernel module in this package will notbe compiled.  It is possible to override this with the'--enable-kernel-module' configure option.If './configure' cannot find the kernel source or it says the kernelsource should be prepared, you may either try  ./configure--disable-kernel-moduleor if your kernel does not already contain FUSE support, do thefollowing:  - Extract the kernel source to some directory  - Copy the running kernel's config (usually found in    /boot/config-X.Y.Z) to .config at the top of the source tree  - Run 'make prepare'For more details 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 programHere's how to create your very own virtual filesystem in five easysteps (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 gladIf it doesn't work out, please ask!  Also see the file 'include/fuse.h' fordetailed documentation of the library interface.Security========If you run 'make install', the fusermount program is installedset-user-id to root.  This is done to allow normal users to mounttheir own filesystem implementations.There must however be some limitations, in order to prevent Bad User fromdoing 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.Configuration=============Some options regarding mount policy can be set in the file'/etc/fuse.conf'Currently these options are:mount_max = NNN  Set the maximum number of FUSE mounts allowed to non-root users.  The default is 1000.user_allow_other  Allow non-root users to specify the 'allow_other' or 'allow_root'  mount options.Mount options=============These are FUSE specific mount options that can be specified for allfilesystems:default_permissions  By default FUSE doesn't check file access permissions, the  filesystem is free to implement it's access policy or leave it to  the underlying file access mechanism (e.g. in case of network  filesystems).  This option enables permission checking, restricting  access based on file mode.  This is option is usually useful  together with the 'allow_other' mount option.allow_other  This option overrides the security measure restricting file access  to the user mounting the filesystem.  So all users (including root)  can access the files.  This option is by default only allowed to  root, but this restriction can be removed with a configuration  option described in the previous section.allow_root  This option is similar to 'allow_other' but file access is limited  to the user mounting the filesystem and root.  This option and  'allow_other' are mutually exclusive.kernel_cache  This option disables flushing the cache of the file contents on  every open().  This should only be enabled on filesystems, where the  file data is never changed externally (not through the mounted FUSE  filesystem).  Thus it is not suitable for network filesystems and  other "intermediate" filesystems.  NOTE: if this option is not specified (and neither 'direct_io') data  is still cached after the open(), so a read() system call will not  always initiate a read operation.large_read  Issue large read requests.  This can improve performance for some  filesystems, but can also degrade performance.  This option is only  useful on 2.4.X kernels, as on 2.6 kernels requests size is  automatically determined for optimum performance.direct_io  This option disables the use of page cache (file content cache) in  the kernel for this filesystem.  This has several affects:     - Each read() or write() system call will initiate one or more       read or write operations, data will not be cached in the       kernel.     - The return value of the read() and write() system calls will       correspond to the return values of the read and write       operations.  This is useful for example if the file size is not       known in advance (before reading it).max_read=N  With this option the maximum size of read operations can be set.  The default is infinite.  Note that the size of read requests is  limited anyway to 32 pages (which is 128kbyte on i386).hard_remove  The default behavior is that if an open file is deleted, the file is  renamed to a hidden file (.fuse_hiddenXXX), and only removed when  the file is finally released.  This relieves the filesystem  implementation of having to deal with this problem.  This option  disables the hiding behavior, and files are removed immediately in  an unlink operation (or in a rename operation which overwrites an  existing file).  It is recommended that you not use the hard_remove option. When  hard_remove is set, the following libc functions fail on unlinked  files (returning errno of ENOENT):     - read()     - write()     - fsync()     - close()     - f*xattr()     - ftruncate()     - fstat()     - fchmod()     - fchown()debug  Turns on debug information printing by the library.fsname=NAME  Sets the filesystem name.  The default is the program name.use_ino  Honor the 'st_ino' field in getattr() and fill_dir().  This value is  used to fill in the 'st_ino' field in the stat()/lstat()/fstat()  functions and the 'd_ino' field in the readdir() function.  The  filesystem does not have to guarantee uniqueness, however some  applications rely on this value being unique for the whole  filesystem.readdir_ino  If 'use_ino' option is not given, still try to fill in the 'd_ino'  field in readdir().  If the name was previously looked up, and is  still in the cache, the inode number found there will be used.  Otherwise it will be set to '-1'.  If 'use_ino' option is given,  this option is ignored.nonempty  Allows mounts over a non-empty file or directory.  By default these  mounts are rejected (from version 2.3.1) to prevent accidental  covering up of data, which could for example prevent automatic  backup.umask=M  Override the permission bits in 'st_mode' set by the filesystem.  The resulting permission bits are the ones missing from the given  umask value.  The value is given in octal representation.uid=N  Override the 'st_uid' field set by the filesystem.gid=N  Override the 'st_gid' field set by the filesystem.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -