web-dev-qa-db-ja.com

SSHFSでマウントされたディレクトリを調べられないのはなぜですか?

SSHFSを使用して、リモートサーバー上のディレクトリをマウントします。クライアントとサーバーにユーザーxxxがあります。 UIDとGIDは両方のボックスで同一です。

私が使う

sshfs -o kernel_cache -o auto_cache -o reconnect -o compression=no \ 
      -o cache_timeout=600 -o ServerAliveInterval=15 \
      [email protected]:/mnt/content /home/xxx/path_to/content

リモートサーバー上のディレクトリをマウントします。クライアントにxxxとしてログインしても問題ありません。/home/xxx/path_to/contentにcdできます。

しかし、別のユーザーzzzとしてクライアントにログインすると、

$ ls -l /home/xxx/path_to

私はこれを手に入れます

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

そして

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

私は得る

ls: cannot access content: Permission denied

私がする時

$ ls -l /mnt

私が得るリモートサーバー上

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

何が悪いのですか?権限は私には正しいようです。私が間違っている?

34
Jan Deinhard

自分で答えを見つけました。問題は、オプションallow_otherを使用しなかったことです。

sshfs -o allow_other -o kernel_cache -o auto_cache -o reconnect \
  -o compression=no -o cache_timeout=600 -o ServerAliveInterval=15 \
  [email protected]:/mnt/content /home/xxx/path_to/content

このオプションを使用するには、/ etc/Fuse.confでオプションuser_allow_otherを設定する必要があります。私がこれをしたとき、私は別の問題を抱えていました。ファイル/etc/Fuse.confには、Ubuntuボックスで他のユーザーの読み取り権限がありませんでした。だから私もそれを変更し、今ではどのユーザーでもディレクトリにアクセスできます。

42
Jan Deinhard