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
lsattr
. - Also, /root/.gvfs and /home/username/.gvfs are on the same filesystem.
- All packages are current.
Any ideas?
EDIT:
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 /home/username/.gvfs
. However, /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.
EDIT: 7/10/2012
I learned that instead of giving o+rx to /bin/fusermount I should add the user to the fuse group.
In Ubuntu 12.10 the paths were changed: