Linux – Why doesn’t SSHFS let me look into a mounted directory

distributed-filesystemsfuselinuxpermissionssshfs

I use SSHFS to mount a directory on a remote server. There is a user xxx on client and server. UID and GID are identical on both boxes.

I use

sshfs -o kernel_cache -o auto_cache -o reconnect -o compression=no \ 
      -o cache_timeout=600 -o ServerAliveInterval=15 \
      xxx@yyy.yyy.yyy.yyy:/mnt/content /home/xxx/path_to/content

to mount the directory on the remote server. When I log in as xxx on the client I have no problems. I can cd into /home/xxx/path_to/content.

But when I log in on the client as another user zzz and then

$ ls -l /home/xxx/path_to

I get this

d?????????   ? ?    ?        ?                ? content

and on

$ ls -l /home/xxx/path_to/content

I get

ls: cannot access content: Permission denied

When I do

$ ls -l /mnt

on the remote server I get

drwxr-xr-x 6 xxx xxx  4096 2011-07-25 12:51 content

What am I doing wrong? The permissions seem to be correct to me. Am I wrong?

Best Answer

I've found the answer myself. The problem was that I didn't use the option allow_other.

sshfs -o allow_other -o kernel_cache -o auto_cache -o reconnect \
  -o compression=no -o cache_timeout=600 -o ServerAliveInterval=15 \
  xxx@yyy.yyy.yyy.yyy:/mnt/content /home/xxx/path_to/content

To use this option you have to set the option user_allow_other in /etc/fuse.conf. When I did this I had another problem. The file /etc/fuse.conf haven't had read permissions for other users on my Ubuntu box. So I've changed that too and now I can access the directory with any user.

Related Topic