24

I use a FUSE filesystem with no problems as my own user, but root can't access my FUSE mounts. Instead, any command gives Permission denied. How can I give root the permission to read these mounts?

~/top$ sudo ls -l
total 12
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 bar
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 foo
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 normal-directory
~/top$ fuse-zip foo.zip foo
~/top$ unionfs-fuse ~/Pictures bar

My user, yonran, can read it fine:

~/top$ ls -l
total 8
drwxr-xr-x 1 yonran yonran 4096 2011-07-25 18:12 bar
drwxr-xr-x 2 yonran yonran    0 2011-07-25 18:51 foo
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 normal-directory
~/top$ ls bar/
Photos

But root can't read either FUSE directory:

~/top$ sudo ls -l
ls: cannot access foo: Permission denied
ls: cannot access bar: Permission denied
total 4
d????????? ? ?      ?         ?                ? bar
d????????? ? ?      ?         ?                ? foo
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 normal-directory
~/top$ sudo ls bar/
ls: cannot access bar/: Permission denied

I'm running Ubuntu 10.04: I always install any update from Canonical.

$ uname -a
Linux mochi 2.6.32-33-generic #70-Ubuntu SMP Thu Jul 7 21:13:52 UTC 2011 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 10.04.3 LTS
Release:    10.04
Codename:   lucid

Edit: removed the implication that root used to be able to access the mounts. Come to think of it, maybe my scripts never tried to access the directory as root.

24

It's the way fuse works. If you want to allow access to root or others users, you have to add:

user_allow_other

in /etc/fuse.conf and mount your fuse filesystem with allow_other or allow_root as options.

  • 5
    Am I the only one who read that and still has NO idea what to actually do? allow_other goes in /etc/fstab? Somewhere else? – Warren P Sep 12 '18 at 23:24
  • I'm looking at this too, right now. I think you can just add "allow_root" to your /etc/fuse.conf. Then all FUSE fs's will be accessible by root. For anyone who comes this way, it's an issue for keybase's kbfs filesystem, which runs without allow_root. – Diagon Nov 25 '18 at 7:53
  • To elaborate from man mount.fuse: Configurations section: "Some options regarding mount policy can be set in the file /etc/fuse.conf." (like user_allow_other). General Mount Options section: "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." – gatoWololo Jan 15 at 22:49
  • @WarenP: basically you want to do this: 1) echo "user_allow_other" > /etc/fuse.conf 2) Whenever you run your fuse-based program, add the option -o allow_other, so the mountpoint will be accessible by other users. (example: sshfs ./mountpoint -o allow_other) - this works because all programs running over FUSE inherit FUSE's command line options (like allow_other) – felipeek Feb 11 at 14:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.