क्यों लिनक्स से एक एनएफएस शेयर बढ़ते को एक विशेषाधिकार प्राप्त बंदरगाह के उपयोग की आवश्यकता होती है?


11

मैं एक लिनक्स बॉक्स पर एक निर्देशिका निर्यात करता हूं और मैं इसका उपयोग करके किसी अन्य लिनक्स बॉक्स से माउंट कर सकता हूं

# mount -t nfs kurush:/media/lynk /mnt/kurush/

मैक ओएस एक्स पर एक ही कमांड विफल रहता है:

$ sudo mount -t nfs kurush:/media/lynk /Volumes/lynk
mount_nfs: can't mount /media/lynk from kurush onto /Volumes/lynk: Operation not permitted

इसी समय, kurush:/var/logs/syslogइस पंक्ति को रिकॉर्ड करता है:

rpc.mountd[7943]: authenticated mount request from sds-MacBook-Pro.home:1009 for /media/lynk (/media/lynk)

जब मैं GUI (खोजक-> सर्वर से कनेक्ट-> nfs://kurush/media/lynk-> कनेक्ट) पर जाने का प्रयास करता हूं, तो मुझे तत्काल विफलता मिलती है (कनेक्ट और सी करने में असमर्थ) और लिनक्स बॉक्स syslog रिकॉर्ड करता है authenticated mount request

समस्या को एक विशेषाधिकार प्राप्त पोर्ट का उपयोग करके हल किया जाता है :

कमांड लाइन:

sudo mount -o resvport -t nfs kurush:/media/lynk /Volumes/lynk

GUI को सक्षम करने के लिए:

sudo vifs

फिर एक पंक्ति जोड़ें

kurush:/media/lynk /Volumes/lynk nfs resvport,ro,user,noauto

प्रश्न हैं :

  • मुझे विशेषाधिकार प्राप्त बंदरगाह का उपयोग करने की आवश्यकता क्यों है? क्या यह कुछ है जो मैं लिनक्स पक्ष पर करता हूं? मुझे यह याद आता है कि एक बार जब मैंने उक्त जादू के बिना उस हिस्से को माउंट किया था।

  • मैं MacOSX को कमांड लाइन का उपयोग किए बिना विशेषाधिकार प्राप्त पोर्ट का उपयोग करने के लिए कैसे कहूं? मुझे लगा कि Apple "गैर-तकनीकी" भीड़ के लिए था, इसलिए यह संभव होना चाहिए!


नमस्ते। आम तौर पर हम ऐसे सवालों को बंद कर देते हैं जो यह पूछने के लिए मौजूद होते हैं कि "Apple ने X क्यों किया?" लेकिन यहां कुछ अच्छे तकनीकी विवरण हैं। यदि आप प्रश्न को सरलता से संपादित करते हैं (तो इसे संपादित करें) और फिर उत्तर अनुभाग में सभी प्रश्नों को डालें तो आपका प्रश्न बेहतर हो सकता है। यदि आपको यह समझाने पर सवाल पूछने की जरूरत है कि समस्या क्या है - तो शायद यह काम कर सके। आप अंततः "क्यों" की कहानी के साथ क्या करेंगे Apple ने इसे इसी तरह डिजाइन किया था?
bmike

1
@bmike: मैंने "क्यों" को "कैसे" में बदल दिया।
एसडीएस

जवाबों:


10

क्यों करना पड़ेगा? परंपरा, ज्यादातर। एक बार, एनएफएस को विशेषाधिकार प्राप्त बंदरगाहों (<1023) तक सीमित करना एक सुरक्षा उपाय माना जाता था। जब लोग मेनफ्रेम कंप्यूटर का उपयोग कर रहे थे, तो यह सुनिश्चित हो गया कि क्लाइंट पक्ष पर एनएफएस सॉफ़्टवेयर ओएस का हिस्सा था / जिसे प्रशासक द्वारा अनुमोदित किया गया था, क्योंकि एक प्रोग्राम केवल एक विशेषाधिकार प्राप्त पोर्ट का उपयोग कर सकता है यदि यह रूट उपयोगकर्ता द्वारा चलाया जाता है। आज, इसका कोई मतलब नहीं है क्योंकि कोई भी व्यक्ति खुद कंप्यूटर रख सकता है और रूट एक्सेस कर सकता है, इसलिए सुरक्षा के मामले में इसका कोई मतलब नहीं है।

डिफ़ॉल्ट रूप से, कई एनएफएस सर्वर गैर-विशेषाधिकारित स्रोत पोर्ट की अनुमति नहीं देते हैं। कुछ एनएफएस क्लाइंट (जैसे कि उबंटू), एक विशेषाधिकार प्राप्त स्रोत पोर्ट का उपयोग करने के लिए डिफ़ॉल्ट जब तक कि अन्यथा निर्दिष्ट न हो, यही कारण है कि आपका लिनक्स क्लाइंट समस्या के बिना काम करता है। स्पष्ट रूप से, OS X क्लाइंट ऐसा नहीं करता है। मुझे नहीं पता कि यह एक Apple डिज़ाइन पसंद थी या BSD से विरासत में मिली कोई चीज़। मुझे पता है कि सोलारिस एक गैर-विशेषाधिकारित बंदरगाह के लिए भी चूक करता है।

इस समस्या से बचने के दो तरीके हैं, ओएस एक्स क्लाइंट को एक विशेषाधिकार प्राप्त बंदरगाह का उपयोग करने के लिए कहना, जैसा कि आपने खोजा, या गैर-विशेषाधिकारित बंदरगाहों की अनुमति देने के लिए अपने एनएफएस सर्वर को कॉन्फ़िगर करना (इसे अपने सर्वर के प्रलेखन में देखें)।

आपको GUI का उपयोग करके विशेषाधिकार प्राप्त पोर्ट का उपयोग करने के लिए OS X कैसे मिलता है? जहाँ तक मुझे पता है, आप संस्करणों पर नहीं कर सकते हैं> 10.6। एक डिस्क उपयोगिता में एनएफएस शेयरों को माउंट करने और अतिरिक्त विकल्पों में टाइप करने में सक्षम था, लेकिन इसे हटा दिया गया था। ( विवरण ) यह एक साधारण बटन या कुछ भी नहीं था। एनएफएस शायद ही कुछ "गैर-तकनीकी" भीड़ की सबसे अधिक जरूरत है, इसलिए मुझे लगता है कि यह प्राथमिकता नहीं थी और ऐसे कारण हैं कि विशेषाधिकार प्राप्त बंदरगाहों का उपयोग करना एक महान विचार नहीं है।

मैंने इसे आज़माया नहीं है, लेकिन http://www.bresink.com/osx/NFSManager.html कमांड लाइन के बिना OS X के NFS सुविधाओं के विन्यास की अनुमति देता है।


2
गैर-विशेषाधिकार प्राप्त बंदरगाहों की अनुमति देने के लिए "या अपने एनएफएस सर्वर को कॉन्फ़िगर करने के बारे में": एनएफ़एस -कर्नेल-सर्वर के लिए यह insecureविकल्प है /etc/exports। उदाहरण के लिए:/media/sda3 192.168.1.0/24(rw,async,no_subtree_check,insecure)
tungd

धन्यवाद, असुरक्षित अनुमति देता है मैक खोजक का उपयोग कर NFS से कनेक्ट करने के लिए -> जाओ -> सर्वर से कनेक्ट
waza123

यह आज सिस्टम के लिए एक सक्रिय सुरक्षा चिंता है, आमतौर पर इंटरनेट के बजाय एक इंट्रानेट के भीतर। क्योंकि सिस्टम फाइल सिस्टम के भीतर एनएफएस शेयरों को माउंट करते हैं, दुरुपयोग के लिए बहुत जगह है। विशेषाधिकार प्राप्त पोर्ट की आवश्यकता अभी भी उपयोगकर्ताओं को फ़ाइल सिस्टम में हेरफेर करने से रहती है जब उन्हें नहीं करना चाहिए। यदि उपयोगकर्ता के पास पहले से ही जड़ है तो यह कोई फर्क नहीं पड़ता।
jtpereyda
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.