1 2## Overview ## 3 4bindfs - https://bindfs.org/ 5 6bindfs is a FUSE filesystem for mirroring a directory to another 7directory, similarly to `mount --bind`. The permissions of the mirrored 8directory can be altered in various ways. 9 10Some things bindfs can be used for: 11- Making a directory read-only. 12- Making all executables non-executable. 13- Sharing a directory with a list of users (or groups). 14- Modifying permission bits using rules with chmod-like syntax. 15- Changing the permissions with which files are created. 16 17Non-root users can use almost all features, but most interesting 18use-cases need `user_allow_other` to be defined in `/etc/fuse.conf`. 19 20 21## Installation ## 22 23Make sure FUSE 2.6.0 or above is installed (https://github.com/libfuse/libfuse). 24FUSE 3 is not yet supported. 25 26Download a [release](https://bindfs.org/downloads/) or clone this repository. 27 28Then compile and install as usual: 29 30 ./configure 31 make 32 make install 33 34If you want the mounts made by non-root users to be visible to other users, 35you may have to add the line `user_allow_other` to `/etc/fuse.conf`. 36 37In Linux-based OSes, you may have to add your user to the `fuse` group. 38 39 40## Usage ## 41 42See the `bindfs --help` or the man-page for instructions and examples. 43 44 45## OS X note ## 46 47The following extra options may be useful under osxfuse: 48 49 -o local,allow_other,extended_security,noappledouble 50 51See https://github.com/osxfuse/osxfuse/wiki/Mount-options for details. 52 53 54## Test suite ## 55 56[![Build Status](https://travis-ci.org/mpartel/bindfs.svg?branch=master)](https://travis-ci.org/mpartel/bindfs) 57 58Bindfs comes with a (somewhat brittle and messy) test suite. 59The test suite has two kinds of tests: those that have to be run as root and 60those that have to be run as non-root. To run all of the tests, do 61`make check` both as root and as non-root. 62 63The test suite requires Ruby 1.8.7+. If you're using [RVM](https://rvm.io/) 64then you may need to use `rvmsudo` instead of plain `sudo` to run the root 65tests. 66 67### Vagrant test runner ### 68 69There is also a set of Vagrant configs for running the test suite on a variety 70of systems. Run them with `vagrant/test.rb` (add `--help` for extra options). 71 72You can destroy all bindfs Vagrant machines (but not the downloaded images) 73with `make vagrant-clean`. 74 75 76## License ## 77 78GNU General Public License version 2 or any later version. 79See the file COPYING. 80