ওএস এক্সকে Find umount from ব্যবহার করে টার্মিনাল থেকে কোনও ড্রাইভ আনমাউন্ট করার জন্য প্রশাসকের সুবিধাগুলি থাকা দরকার তবে ফাইন্ডার ব্যবহারের সময় নয়?


21

যে কেউ তার পাশের "ইজেক্ট" আইকনে ক্লিক করে ফাইন্ডারের কাছ থেকে কোনও ইউএসবি ড্রাইভ আনমাউন্ট করতে পারে। তবে, শুধুমাত্র প্রশাসনিক সুযোগ-সুবিধাগুলি সহ ব্যবহারকারী ব্যবহার করে টার্মিনাল থেকে একটি ড্রাইভ আনমাউন্ট করতে পারেন umount

হয় umountএবং "বের করে নিন" কিছু উপায় যে জন্য আরো নিরাপত্তা প্রয়োজন বিভিন্ন umountটার্মিনাল থেকে?

দ্রষ্টব্য আমি ওএস এক্স 10.8.2 চালাচ্ছি

উত্তর:


34

umountএকটি ইউএনআইএক্স কমান্ড যা theতিহ্যবাহী ইউএনআইএক্স দৃষ্টিভঙ্গির সাথে মেনে চলে যে কোনও ফাইল সিস্টেমকে আনমাউন্ট করা একটি সিস্টেম প্রশাসনের কাজ

এর পিছনে যুক্তিটি হ'ল একটি ফাইল সিস্টেমকে আন-মাউন্ট করা, যদি খুব খারাপ পরিকল্পনা করা বা সম্পাদন করা হয় তবে বিপর্যয়কর এমনকি ধ্বংসাত্মক হতে পারে, বিশেষত একটি মাল্টিউজার সিস্টেমের ক্ষেত্রে। সুতরাং নিয়মিত ব্যবহারকারীরা এই সম্ভাব্য বিপজ্জনক কমান্ড থেকে সুরক্ষিত এবং কেবলমাত্র রুট বা কোনও অধিকারপ্রাপ্ত ব্যবহারকারীকে এটি কার্যকর করার অনুমতি দেওয়া হয়।

এটি যখন ইউএনআইএক্সকে সার্ভার অপারেটিং সিস্টেম হিসাবে ব্যবহৃত হয় তখন এটি অনেকটা অর্থবোধ করে, তবে ইউএনআইএক্স-ভিত্তিক ডেস্কটপ ওএস (উদাহরণস্বরূপ, ওএস এক্স বা উবুন্টু ) এর অন্যান্য প্রয়োজনীয়তা থাকে: যে কোনও ব্যবহারকারীর ফ্ল্যাশ ড্রাইভ, অপসারণযোগ্য হার্ডড্রাইভস, ইত্যাদি আনমাউন্ট করতে সক্ষম হওয়া উচিত ।

ফাইন্ডার এবং 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 (দেখুন man পৃষ্ঠা আরও তথ্যের জন্য), যা ফাইল সিস্টেম আনমাউন্ট করার অধিকার অনুদান:

$ 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
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.