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.
Download (HTTP): https://github.com/libfuse/libfuse/releases/download/fuse-3.17.4/fuse-3.17.4.tar.gz
Download SHA256 Sum: df9e40ae927b73dc702d0bce7925c0c618af47ad0b13204fbf2be66e54d8528b
Download MD5 sum: c894181418bf0bc11f98938fc30d37df
Download size: 7,307 KB
Estimated disk space required: 100 MB (with tests and documentation)
Estimated build time: 0.1 SBU (add 0.4 SBU for tests)
"doxygen" (to rebuild the API documentation), "pytest" (required for tests), and looseversion (for tests)
Enable the following options in the kernel configuration and recompile the kernel if necessary:
File systems ---> <*/M> FUSE (Filesystem in Userspace) support [FUSE_FS]
Character devices in userspace should be enabled too for running the tests:
File systems ---> <*/M> FUSE (Filesystem in Userspace) support [FUSE_FS] <*/M> Character device in Userspace support [CUSE]
The sed ... util/meson.build command removes the installation of an unnecessary boot script and udev rule. After applying this change, prepare Fuse by running the following commands:
sed -i '/^udev/,$ s/^/#/' util/meson.build
meson setup build --prefix=/usr --buildtype=release
Compile Fuse by running the following commands:
ninja -C build
To test the results not recommended in the limited chroot environment as it requires packages not installed yet, issue:
python3 -m venv --system-site-packages testenv source testenv/bin/activate pip3 install looseversion python3 -m pytest deactivate
The "pytest" Python module is required for the tests. One test named
test_cuse will fail if the CONFIG_CUSE
configuration item was not enabled when the kernel was built. One test,
test/util.py, will output a warning due to the usage
of an unknown mark in pytest.
Now, Install Fuse by running the following commands:
ninja -C build install
chmod u+s /usr/bin/fusermount3
cp -Rv doc/html -T /usr/share/doc/fuse-3.17.4
install -v -m644 doc/{README.NFS,kernel.txt} \
/usr/share/doc/fuse-3.17.4
Some options regarding mount policy can be set in the file
/etc/fuse.conf. To install the file run the
following command as the root
user:
cat > /etc/fuse.conf << "EOF"
# Set the maximum number of FUSE mounts allowed to non-root users.
# The default is 1000.
#
#mount_max = 1000
# Allow non-root users to specify the 'allow_other' or 'allow_root'
# mount options.
#
#user_allow_other
EOFAdditional information about the meaning of the configuration options are found in the man page.