SSHFS neden bir dizine bakmama izin vermiyor?


34

Uzak bir sunucuya bir dizin bağlamak için SSHFS kullanıyorum. İstemci ve sunucuda bir xxx kullanıcısı 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 takmak için. İstemcide xxx olarak oturum açtığımda hiçbir sorunum yok. / Home / xxx / path_to / content içine cd girebilirim.

Ancak istemcide başka bir kullanıcı zzz olarak oturum açtığımda ve sonra

$ 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 alıyorum

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

Neyi yanlış yapıyorum? İzinler bana uygun gözüküyor. Yanlış mıyım?


Xxx kullanıcısı olarak giriş yapın ve bize çıktısını verin ls -ld /home/xxx/path_to/content?
kuantumların

Yanıtlar:


42

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

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 içindeki user_allow_other seçeneğini ayarlamanız gerekir. Bunu yaptığımda başka bir sorunum vardı. /Etc/fuse.conf dosyası, Ubuntu kutumdaki diğer kullanıcılar için okuma izinlerine sahip değildi. Bu yüzden onu da değiştirdim ve şimdi herhangi bir kullanıcı ile dizine erişebiliyorum.


5
/Etc/fuse.conf dosyasının herkes için okuma seçeneklerinin olması gerekmiyor. Amaç, kendinizi sigorta grubuna eklemenizdir, böylece onu grup hakları yoluyla okuyabilirsiniz.
Jherico

1
İstemcide etc / fuse.conf'da user_allow_other özelliğini etkinleştirme ihtiyacının, aynı UID ve GID'den sunucuya erişirken, kullanıcımın sunucudaki ana dizinim dışındaki klasörlere erişmesi gerektiğinin doğrulanması. İstemcideki sigorta grubunda bulunmak benim için Ubuntu'da /etc/fuse.conf dosyasını okumam için yeterliydi, çünkü dosyanın rw_r______ root olduğunu belirttim: fuse

1
Yukarıdaki cevabın önerdiği gibi allow_other mount seçeneğini kullanmak istiyorsanız, Linux çekirdeğinin FUSE'yi etkileyen çözülmemiş bir güvenlik hatası olduğunu unutmayın. Bakınız github.com/libfuse/libfuse/issues/15
MountainX
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.