Thursday, 10 February 2011

MacPorts MacFUSE/bindfs and "Operation not permitted"

I couldn't get MacPorts MacFUSE + bindfs to work out of the box; it worked fine as an admin user but not as a normal user:

$ mkdir foo bar
$ bindfs foo bar
mount_fusefs: failed to mount /Users/me/foo /Users/me/bar@/dev/fuse0:
Operation not permitted

I'm not the only one of course, but I don't see any solution described. The device has lenient permissions:

$ ls -la /dev/fuse*
crw-rw-rw- 1 root operator 31, 0 2011-02-10 12:06 /dev/fuse0

Quick fix: tell MacFUSE to treat everyone as a (MacFUSE) administrator:

$ id
uid=501(me) gid=20(staff) groups=20(staff),
$ sudo sysctl -w macfuse.tunables.admin_group=20
macfuse.tunables.admin_group: 80 -> 20

I'm sure this isn't meant to be necessary and it has security implications (I've not thought it through properly but the docs say if someone could already run code as a normal user and used allow_other then they'd at least be able to hang some system processes that walked the mount) but it gets the job done.

1 comment:

  1. FYI macfuse is abandoned project. Fuse4X has replaced it.