barp / bindfs

Mount a directory elsewhere with changed permissions.

Home Page:https://bindfs.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Overview

bindfs - https://bindfs.org/

bindfs is a FUSE filesystem for mirroring a directory to another directory, similarly to mount --bind. The permissions of the mirrored directory can be altered in various ways.

Some things bindfs can be used for:

  • Making a directory read-only.
  • Making all executables non-executable.
  • Sharing a directory with a list of users (or groups).
  • Modifying permission bits using rules with chmod-like syntax.
  • Changing the permissions with which files are created.

Non-root users can use almost all features, but most interesting use-cases need user_allow_other to be defined in /etc/fuse.conf.

Installation

Make sure FUSE 2.6.0 or above is installed (https://github.com/libfuse/libfuse).

Download a release or clone this repository.

Then compile and install as usual:

./configure
make
make install

If you want the mounts made by non-root users to be visible to other users, you may have to add the line user_allow_other to /etc/fuse.conf.

In Linux-based OSes, you may have to add your user to the fuse group.

Usage

See the bindfs --help or the man-page for instructions and examples.

OS X note

The following extra options may be useful under osxfuse:

-o local,allow_other,extended_security,noappledouble

See https://github.com/osxfuse/osxfuse/wiki/Mount-options for details.

Test suite

Build Status

Bindfs comes with a (somewhat brittle and messy) test suite. The test suite has two kinds of tests: those that have to be run as root and those that have to be run as non-root. To run all of the tests, do make check both as root and as non-root.

The test suite requires Ruby 1.8.7+. If you're using RVM then you may need to use rvmsudo instead of plain sudo to run the root tests.

Vagrant test runner

There is also a set of Vagrant configs for running the test suite on a variety of systems. Run them with vagrant/test.rb (add --help for extra options).

You can destroy all bindfs Vagrant machines (but not the downloaded images) with make vagrant-clean.

License

GNU General Public License version 2 or any later version. See the file COPYING.

About

Mount a directory elsewhere with changed permissions.

https://bindfs.org/

License:GNU General Public License v2.0


Languages

Language:C 63.5%Language:Ruby 23.7%Language:Roff 10.0%Language:Shell 0.9%Language:M4 0.9%Language:Makefile 0.8%