Назад | Перейти на главную страницу

Почему SSHFS не позволяет мне заглянуть в смонтированный каталог?

Я использую SSHFS для монтирования каталога на удаленном сервере. На клиенте и сервере есть пользователь xxx. UID и GID идентичны на обоих коробках.

я использую

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

чтобы смонтировать каталог на удаленном сервере. Когда я вхожу в систему как xxx на клиенте, у меня нет проблем. Я могу сделать cd в / home / xxx / path_to / content.

Но когда я вхожу в систему как другой пользователь 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

Что я делаю не так? Разрешения мне кажутся правильными. Я ошибся?

Я сам нашел ответ. Проблема заключалась в том, что я не использовал параметр 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

Чтобы использовать эту опцию, вы должны установить опцию user_allow_other в /etc/fuse.conf. Когда я это сделал, у меня возникла другая проблема. Файл /etc/fuse.conf не имел прав на чтение для других пользователей в моем Ubuntu. Я тоже изменил это, и теперь я могу получить доступ к каталогу с любым пользователем.