SFTP: फ़ाइल जेल में बंद (निर्देशिका)


22

मैं sftp सेट करने का प्रयास कर रहा हूं ताकि कुछ विश्वसनीय लोग कुछ फ़ाइलों तक पहुंच / संपादन / निर्माण कर सकें। मैंने एक उपयोगकर्ता को उनके घर निर्देशिका (/ घर / नाम) में जेल में डाल दिया है, लेकिन एक समस्या में चला गया है। मैं चाहता हूं कि वे VPS के अन्य हिस्सों तक भी पहुंचने में सक्षम हों, क्योंकि यह एक गेम सर्वर, वेबहोस्ट, आदि भी है, और मैं चाहता हूं कि वे अपनी जेल निर्देशिका के बाहर फ़ाइलों का पूर्ण नियंत्रण रखने में सक्षम हों।

मैंने वांछित निर्देशिका के लिए सिम्लिंक (ln -s) बनाने की कोशिश की लेकिन यह उम्मीद के मुताबिक काम नहीं करता है। मैंने उन फाइलों पर (cp-sur) कोशिश की, जिन्हें मैं एक्सेस देना चाहता था और यह काम करती थी - वे फाइलों को अपनी निर्देशिका में संपादित कर सकते हैं और यह जेल के बाहर संग्रहीत एक को बदल देता है। लेकिन वे नई फाइलें नहीं बना सकते (वे कर सकते हैं लेकिन यह जेल के बाहर अपडेट नहीं होगी)। मुझे पता है कि मैं शायद यह "सही तरीका" नहीं कर रहा हूं लेकिन मैं जो चाहता हूं वह करने के लिए क्या कर सकता हूं?

जवाबों:


40

साइमलिंक विशुद्ध रूप से प्रतीकात्मक हैं: उनमें एक पथ के अलावा और कुछ नहीं होता है, इसलिए जब आप एक सिमलिंक खोलते हैं, तो ओएस पथ पढ़ता है और इसके बजाय इसका उपयोग करता है। चिरोट के वातावरण में, लिंक (विशेष रूप से पूर्ण पथ वाले) आम तौर पर उसी स्थान को इंगित नहीं करते हैं जो उन्होंने सामान्य वातावरण में इंगित किया था।

यदि सर्वर OS लिनक्स है, तो आपका सबसे अच्छा शर्त पूरी निर्देशिका को चेरोट निर्देशिका के अंदर बांधना है। इसका उपयोग करते समय, यह याद रखना महत्वपूर्ण है कि यह निर्देशिका की प्रतिलिपि नहीं है, यहां हटाई गई कोई भी चीज अन्य निर्देशिका से हटा दी जाएगी (महत्वपूर्ण यदि उपयोगकर्ता mvफाइल या कर सकता है rm -rf)। यह करने के लिए:

mount --bind /some/directory /somewhere/else

निर्देशिका में फ़ाइलें वास्तविक फ़ाइलें होना चाहिए। यहां सिम्बलिंक में वही समस्याएं होंगी जो आपको पहली बार में फ़ाइलों से लिंक करने की कोशिश में हैं।


आपके उत्तर के लिए धन्यवाद। क्या आप कृपया मुझे समझा सकते हैं या एक ट्यूटोरियल पर इंगित कर सकते हैं कि मैं इसे कैसे काम कर सकता हूं? मैंने मेहमानों के लिए ssh को निष्क्रिय कर दिया है, इसलिए उनके पास केवल sftp एक्सेस है। इस आदेश को किस फ़ाइल में डालूँ?
डुकविन ऑक्ट

हालांकि यह व्यापक रूप से उचित नहीं है, आप डायरेक्ट्री हार्डलिंक भी बना सकते हैं, जो सरल होगा, लेकिन केवल अगर सभी फाइलें एक ही डिवाइस पर हों।
फाल्कन मोमेंट

इसके लिए क्या आज्ञा है
डुकविन

@KevinDuke यह कुछ ऐसा नहीं है जो उपयोगकर्ता स्वयं कर सकते हैं, केवल रूट ही mountइस तरह का उपयोग कर सकते हैं । इसे निर्दिष्ट करने का एक तरीका हो सकता है /etc/fstabइसलिए यह बूट पर स्वचालित रूप से किया जाता है लेकिन मुझे यकीन नहीं है कि कैसे
DerfK

1
धन्यवाद। मैंने कुछ ट्यूटोरियल पढ़े और यह पता लगाया। आपके जवाब ने वास्तव में मुझे सही दिशा में लाने में मदद की। धन्यवाद! जो लोग जानते हैं चाहते हैं के लिए, इन की मदद की: aplawrence.com/Linux/mount_bind.html freebsd.org/doc/en_US.ISO8859-1/books/handbook/... redbottledesign.com/...
dukevin
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.