Soru SSHFS neden monte edilmiş bir dizine bakmamı sağlıyor?


Uzak sunucuda bir dizin kurmak için SSHFS kullanıyorum. İstemci ve sunucuda bir kullanıcı xxx var. UID ve GID her iki kutuda aynıdır.

kullanırım

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

dizini uzak sunucuya monte etmek. İstemciye xxx olarak giriş yaptığımda hiç sorunum yok. / Home / xxx / path_to / content dizinine girebilirim.

Ama müşteriye başka bir kullanıcı zzz olarak giriş yaptığımda

$ ls -l /home/xxx/path_to

Bunu anladım

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

ve üzerinde

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

alırım

ls: cannot access content: Permission denied

Ben yaparken

$ ls -l /mnt

uzak sunucuda aldım

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

Neyi yanlış yapıyorum? İzinler benim için doğru görünüyor. Yanlış mıyım?


33
2017-07-26 07:47


Menşei


Xxx kullanıcısı olarak giriş yap ve bize çıkışını ver ls -ld /home/xxx/path_to/content? - quanta


Cevaplar:


Cevabı kendim buldum. Sorun, allow_other seçeneğini kullanmadım.

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

Bu seçeneği kullanmak için /etc/fuse.conf dosyasında user_allow_other seçeneğini ayarlamanız gerekir. Bunu yaptığımda başka bir problemim vardı. /Etc/fuse.conf dosyası Ubuntu kutumdaki diğer kullanıcılar için okuma izinleri almadı. Ben de bunu değiştirdim ve şimdi dizine herhangi bir kullanıcı ile erişebiliyorum.


42
2017-07-26 08:23



/Etc/fuse.conf dosyasının herkes için okuma seçeneklerine sahip olmaması gerekir. Amaç, grup haklarıyla okuyabilmek için kendinizi sigorta grubuna eklemenizdir. - Jherico
İstemcide etc / fuse.conf dosyasında user_allow_other öğesini etkinleştirmenin gerekliliğinin doğrulanması, sunucunun aynı UID ve GID'den sunucuya erişirken sunucumdaki ana dizininin dışındaki klasörlere erişmesi için gerekliydi. İstemcinin sigorta grubunda olmak, Ubuntu'da /etc/fuse.conf dosyasını okumam için yeterliydi, çünkü dosya rw_r______ root: fuse olarak ayarlandı.
Yukarıdaki cevap gibi allow_other mount seçeneğini kullanmayı düşünüyorsanız, Linux çekirdeğinin FUSE'yi etkileyen çözümlenmemiş bir güvenlik hatasına sahip olduğunu unutmayın. Görmek github.com/libfuse/libfuse/issues/15 - MountainX