So, I can mount GVFS locations correctly (specifically CIFS) either from the Gnome "Places" menu, or via the command line
gvfs-mount, but the filesystem is not mounted in the expected location;
~/.gvfs. In fact, running the
mount command does not list any GVFS filesystem at all.
- This is reproducible for non-root users while the root user behaves as expected.
- Strace reveals a permissions error for the user mounting the filesystem for the path /home/username/.gvfs.
- Ownership and permissions are correct and there are no extended attributes for the path as revealed by
- Also, /root/.gvfs and /home/username/.gvfs are on the same filesystem.
- All packages are current.
After reading this question, I found that
gvfs-fuse-daemon was not started and tried to run it manually.
$ /usr/libexec/gvfs-fuse-daemon ~/.gvfs fuse: failed to exec fusermount: Permission denied
So, the permission denied I saw in
strace was on
/bin/fusermount, not the destination path
/bin/fusermount is setuid so unprivileged users should be able to run it as root. I am not fond of mucking with permissions but gave
/bin/fusermount o+rx to test. It executes and fixes the problem. So, why does this daemon have to be ran manually for non-root users? It seems to be an Ubuntu issue as well, but that went unanswered in the other question.
I learned that instead of giving o+rx to /bin/fusermount I should add the user to the fuse group.