OS X को टर्मिनल से ड्राइव को अनमाउंट करने के लिए 'umount' का उपयोग करने के लिए व्यवस्थापक विशेषाधिकारों की आवश्यकता क्यों है लेकिन फाइंडर का उपयोग करते समय नहीं?


21

कोई भी इसके बगल में "बेदखल" आइकन पर क्लिक करके खोजक से एक यूएसबी ड्राइव को अनमाउंट कर सकता है। हालांकि, केवल प्रशासनिक विशेषाधिकार के साथ एक उपयोगकर्ता का उपयोग कर टर्मिनल से एक अभियान अनमाउंट कर सकते हैं umount

क्या umountकिसी भी तरह से "बेदखल" हैं umountजो टर्मिनल से अधिक सुरक्षा की आवश्यकता है ?

नोट मैं OS X 10.8.2 चला रहा हूं

जवाबों:


34

umountएक UNIX कमांड है जो पारंपरिक UNIX परिप्रेक्ष्य का पालन करता है जो एक फ़ाइल सिस्टम को अनमाउंट करना एक सिस्टम एडमिनिस्ट्रेशन कार्य है

इसके पीछे तर्क यह है कि किसी फ़ाइल सिस्टम को अनमाउंट करना, यदि खराब नियोजित या निष्पादित किया जाता है, तो विघटनकारी, यहां तक ​​कि विनाशकारी हो सकता है, विशेषकर एक मल्टीसियर सिस्टम पर। तो नियमित रूप से उपयोगकर्ताओं को इस संभावित खतरनाक कमान और केवल से सुरक्षित हैं जड़ या एक विशेषाधिकार प्राप्त उपयोगकर्ता यह निष्पादित करने के लिए अनुमति दी है।

यह तब बहुत मायने रखता है जब UNIX का उपयोग सर्वर ऑपरेटिंग सिस्टम के रूप में किया जाता है, लेकिन UNIX- आधारित डेस्कटॉप OS (उदाहरण के लिए, OS X या Ubuntu ) की अन्य आवश्यकताएं होती हैं: किसी भी उपयोगकर्ता को फ्लैश ड्राइव, रिमूवेबल हार्डड्राइव आदि को अनमाउंट करने में सक्षम होना चाहिए। ।

खोजक और diskutil( अधिक जानकारी के लिए मैन डिस्कुटिल देखें) इस तरह से काम करते हैं। उदाहरण के लिए, मैं टर्मिनल खोल सकता हूं और सफलतापूर्वक चला सकता हूं:

$ diskutil unmount /Volumes/Untitled
Volume Untitled on disk2s2 unmounted

जबकि umountविफल:

$ umount /Volumes/Untitled
umount: unmount(/Volumes/Untitled): Operation not permitted

खोजक क्या है या diskutilअलग तरीके से कर रहा है? पर्दे के पीछे, वे com.apple.SecurityServer नामक एक डेमॉन को अनुरोध भेजते हैं ( अधिक जानकारी के लिए मैन पेज देखें), जो फाइलसिस्टम को अनमाउंट करने के अधिकार को अनुदान देता है:

$ tail -f /var/log/system.log
Feb  6 16:57:37 avallone.local com.apple.SecurityServer[17]: Succeeded authorizing right 'system.volume.removable.unmount' by client '/System/Library/CoreServices/Finder.app' [171] for authorization created by '/System/Library/CoreServices/Finder.app' [171] (100013,0)
Feb  6 16:57:37 avallone.local com.apple.SecurityServer[17]: Succeeded authorizing right 'system.volume.removable.unmount' by client '/usr/sbin/diskarbitrationd' [18] for authorization created by '/System/Library/CoreServices/Finder.app' [171] (100002,0)
Feb  6 17:01:46 avallone.local com.apple.SecurityServer[17]: Succeeded authorizing right 'system.volume.removable.unmount' by client '/usr/sbin/diskutil' [646] for authorization created by '/usr/sbin/diskutil' [646] (100013,0)
Feb  6 17:01:46 avallone.local com.apple.SecurityServer[17]: Succeeded authorizing right 'system.volume.removable.unmount' by client '/usr/sbin/diskarbitrationd' [18] for authorization created by '/usr/sbin/diskutil' [646] (100002,0)

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

खोजक के ऊपर बताए गए व्यवहार का समर्थन करने और diskutilकई ऐप्पल फ्रेमवर्क का उपयोग करने के लिए:

$ otool -L $(which diskutil) | grep Disk
/System/Library/PrivateFrameworks/DiskManagement.framework/Versions/A/DiskManagement (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0)
$ otool -L /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder | grep Disk
/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0)
/System/Library/PrivateFrameworks/DiskImages.framework/Versions/A/DiskImages (compatibility version 1.0.8, current version 344.0.0)
/System/Library/PrivateFrameworks/DiskManagement.framework/Versions/A/DiskManagement (compatibility version 1.0.0, current version 1.0.0)

umountदूसरी तरफ, केवल इस गतिशील पुस्तकालय से जुड़ा हुआ है:

$ otool -L $(which umount) 
/sbin/umount:
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)

( /usr/lib/libSystem.B.dylibकई अन्य पुस्तकालयों का उपयोग करता है, लेकिन किसी भी ढांचे से जुड़ा नहीं है।)


1
बहुत बढ़िया जवाब! धन्यवाद। मैं लिनक्स से मैक पर आया था इसलिए मुझे इसके बारे में पता नहीं था diskutil। यह अच्छा ज्ञान है।
DQdlM

धन्यवाद, मुझे खुशी है कि मैं umountऔर diskutil/ खोजक के बीच के अंतर पर कुछ प्रकाश डालने में मदद कर सकता हूं ।
jaume
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.