Linux

為什麼 SSHFS 不讓我查看已掛載的目錄?

  • January 14, 2014

我使用 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

要使用此選項,您必須在 /etc/fuse.conf 中設置選項 user_allow_other。當我這樣做時,我遇到了另一個問題。文件 /etc/fuse.conf 在我的 Ubuntu 機器上沒有其他使用者的讀取權限。所以我也改變了它,現在我可以使用任何使用者訪問該目錄。

引用自:https://serverfault.com/questions/294109