Sshfs mount, sudo gets permission denied

sshsshfssudo

I am using sshfs to mount a folder with some python projects over ssh to my ~/ directory.

$ mkdir -p ~/mount/my-projects
$ sshfs user@example.com:/home/user/my-projects ~/mount/my-projects

I can perform most commands as could be expected:

$ ls ~/mount/my-projects
some-python-project

But I if I try to do anything with sudo, it fails with permission denied:

$ sudo ls ~/mount/my-projects
ls: cannot access /home/user/mount/my-projects: Permission denied

What I'm actually trying to accomplish is to test a python package installation script on my local machine:

$ cd ~/mount/my-projects/some-python-project
$ sudo python setup.py install

Best Answer

I believe you need use the allow_other option to sshfs. In order to do this, you should call it with sudo, as follows:-

sudo sshfs -o allow_other user@myserver:/home/user/myprojects ~/mount/myprojects

Without this option, only the user who ran sshfs can access the mount. This is a fuse restriction. More info is available by typing man fuse.

You should also note that (on Ubuntu at least) you need to be a member of the 'fuse' group, otherwise the command above will complain about not being able to access /etc/fuse.conf when ran without 'sudo'.

Related Question