SSHFS मुझे एक घुड़सवार निर्देशिका में देखने की अनुमति क्यों नहीं देता है?


34

मैं दूरस्थ सर्वर पर निर्देशिका माउंट करने के लिए SSHFS का उपयोग करता हूं। क्लाइंट और सर्वर पर एक उपयोगकर्ता xxx है। यूआईडी और जीआईडी ​​दोनों बॉक्स पर समान हैं।

मैं उपयोग करता हूं

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 में लॉग इन करता हूं तो मुझे कोई समस्या नहीं है। मैं / होम / xxx / path_to / सामग्री में सीडी कर सकता हूं।

लेकिन जब मैं क्लाइंट पर एक अन्य उपयोगकर्ता ज़ज़ के रूप में लॉग इन करता हूं और फिर

$ 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

इसका जवाब मुझे खुद मिल गया है। समस्या यह थी कि मैंने 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 ने मेरे उबंटू बॉक्स पर अन्य उपयोगकर्ताओं के लिए अनुमतियाँ नहीं पढ़ी हैं। इसलिए मैंने वह भी बदल दिया है और अब मैं किसी भी उपयोगकर्ता के साथ निर्देशिका तक पहुंच सकता हूं।


5
/Etc/fuse.conf फ़ाइल में सभी के लिए पढ़ने के विकल्प नहीं हैं। आशय यह है कि आप अपने आप को फ्यूज समूह में जोड़ लेते हैं ताकि आप इसे समूह अधिकारों के माध्यम से पढ़ सकें।
झेरिको

1
यह पुष्टि करते हुए कि मेरे उपयोगकर्ता के लिए एक समान यूआईडी और जीआईडी ​​से सर्वर का उपयोग करते समय सर्वर पर मेरे होम डायरेक्टरी के बाहर फ़ोल्डर्स तक पहुंचने के लिए क्लाइंट पर user_allow_other आदि / fuse.conf को सक्षम करने की आवश्यकता थी। क्लाइंट पर फ़्यूज़ समूह में होने के कारण मेरे लिए उबंटू पर /etc/fuse.conf पढ़ने के लिए पर्याप्त था, क्योंकि मुझे लगा कि फ़ाइल rw_r______ रूट सेट की गई थी: फ़्यूज़

1
यदि आप उपर्युक्त उत्तर की तरह allow_other माउंट विकल्प का उपयोग करने का इरादा रखते हैं, तो ध्यान रखें कि लिनक्स कर्नेल में एक अनसुलझे सुरक्षा बग है जो FUSE को प्रभावित करता है। देखें github.com/libfuse/libfuse/issues/15
MountainX
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.