Чому SSHFS не дозволяє мені заглянути в змонтований каталог?


34

Я використовую 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 на клієнті, у мене немає проблем. Я можу записатись на / 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

Що я роблю неправильно? Дозволи мені здаються правильними. Я помиляюся?


Увійдіть як користувач xxx та дайте нам вихід ls -ld /home/xxx/path_to/content?
кванта

Відповіді:


42

Я сама знайшла відповідь. Проблема полягала в тому, що я не використовував параметр enable_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. Тому я теж змінив це, і тепер я можу отримати доступ до каталогу з будь-яким користувачем.


5
Файл /etc/fuse.conf не повинен мати варіанти читання для всіх. Завдання полягає в тому, що ви додасте себе до групи запобіжників, щоб ви могли їх прочитати через групові права.
Jherico

1
Підтверджуючи, що потреба ввімкнути user_allow_other в etc / fuse.conf на клієнті була необхідною для мого користувача, щоб отримати доступ до папок поза моїм домашнім каталогом на сервері під час доступу до сервера з однакових UID та GID. Перебуваючи в групі запобіжників на клієнті, мені було достатньо для читання /etc/fuse.conf на Ubuntu, оскільки я виявив, що файл був встановлений rw_r______ root: fuse

1
Якщо ви маєте намір використовувати параметр монтажу дозволити інше, як пропонує відповідь вище, пам’ятайте, що в ядрі Linux є невирішена помилка безпеки, яка впливає на FUSE. Див. Github.com/libfuse/libfuse/isissue/15
MountainX
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.