After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 596176 - gvfs-fuse fails to start on NFS mounted homes
gvfs-fuse fails to start on NFS mounted homes
Status: RESOLVED OBSOLETE
Product: gvfs
Classification: Core
Component: daemon
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gvfs-maint
gvfs-maint
Depends on:
Blocks:
 
 
Reported: 2009-09-24 11:19 UTC by Andreas Heinlein
Modified: 2013-05-15 10:26 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Andreas Heinlein 2009-09-24 11:19:09 UTC
gvfsd usually start a gvfs-fuse-daemon for GVFS mounts, which fuse-mounts to $HOME/.gvfs. This fails if the home directory resides on an NFS share with root squashing enabled. Thus, users in a corporate/networked environment with such NFS homes cannot use gvfs effectively, since a lot of applications rely on the fuse mount.

For those unfamiliar with NFS, root squashing means the local UID 0 is mapped to the anonymous/nobody UID on the remote system when it tries to access the NFS share. Since home and subdirectories have permissions 0700, $HOME/.gvfs cannot be accessed by root in this case. This makes the mount() call of gvfs-fuse-daemon fail (verifiable with 'strace gvfs-fuse-daemon /home/user/.gvfs').

There are two solutions to this:
a) disable root squashing
b) move the .gvfs directory somewhere else

a) is not a good choice for security reasons. b) seems not to be possible at the moment. I looked at the sources and found

mount->fuse_mountpoint = g_build_filename (g_get_home_dir(), ".gvfs", fs_name, NULL);

in daemon/mount.c. Even though gvfs-fuse-daemon can be called with any path you like, it looks like the path which gfvsd uses for the call is hard-coded. I was able to symlink /home/user/.gvfs to /tmp/.gvfs, and this works. But I am not sure if that is a good solution. It would be better to make this configurable. Since there already is an environment variable to disable FUSE mounting altogether, how about a new var GVFS_MOUNT_DIR?
Comment 1 Erik Meitner 2010-07-01 16:37:48 UTC
Since this bug report is still marked as "UNCONFIRMED" I will confirm it now. 

Please see the Ubuntu bug report for a workaround I am using at the moment:
https://bugs.launchpad.net/ubuntu/+source/gvfs/+bug/435719
Comment 2 Tomas Bzatek 2013-05-15 10:26:08 UTC
We have moved the FUSE mount in $XDG_RUNTIME_DIR.