माउंट विकल्प नोड को समझना और यूएसबी फ्लैश ड्राइव के साथ इसका उपयोग


10

माउंट (8) OS X मैनुअल पेजnodev विकल्प का वर्णन करता है:

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

अकेले, मैं पूरी तरह से समझ में नहीं आता ... 

... मेरे लिए, इस सवाल का सबसे महत्वपूर्ण हिस्सा - जो मुझे विकल्प को समझने में मदद कर सकता है - यह है:

यूएसबी फ्लैश ड्राइव को नोडव विकल्प के साथ क्यों रखा गया है?

उदाहरण:

sh-3.2$ mount
/dev/disk1 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
/dev/disk0s2 on /Volumes/swap (hfs, local, journaled)
/dev/disk0s4 on /Volumes/spare (hfs, local, journaled)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
localhost:/Eiu9XWYlwq4E8x9l_bQTiX on /Volumes/MobileBackups (mtmfs, nosuid, read-only, nobrowse)
/dev/disk3 on /Volumes/gjp22 (zfs, local, journaled, noatime)
/dev/disk3s1 on /opt (zfs, local, journaled, noatime)
/dev/disk6 on /Volumes/zhandy (zfs, local, journaled, noatime)
/dev/disk8s1 on /Volumes/experiment (hfs, local, nodev, nosuid, journaled, noowners)
/dev/disk10 on /Volumes/tall (zfs, local, journaled, noatime)
/dev/disk11s2 on /Volumes/LaCie Little Big Disk (hfs, local, nodev, nosuid, journaled, noowners)
/dev/disk12 on /Volumes/twoz (zfs, local, journaled, noatime)
Wuala on /Volumes/WualaDrive (osxfusefs, local, nodev, nosuid, synchronous, mounted by gjp22)
/dev/disk14s2 on /Volumes/Time Machine Backups (hfs, local, nodev, nosuid, journaled)

उस उदाहरण में, चार खंड nodevहैं:

  1. प्रयोग - एक USB फ्लैश ड्राइव पर
  2. लॉकी लिटिल बिग डिस्क - फायरवायर 400 पर हार्ड डिस्क ड्राइव पर, इस वॉल्यूम में टाइम मशीन शामिल हैBackups.backupdb
  3. Wuala - फ़ाइल सिस्टम एकीकरण OS X के लिए FUSE का उपयोग करता है
  4. टाइम मशीन बैकअप

धीरे-धीरे बोलना, मैं समझ सकता हूं कि 2, 3, और 4 विशेष हैं। तथापि:

  • मैं nodevUSB फ्लैश ड्राइव की प्रासंगिकता को नहीं समझ सकता ।

अन्य संदर्भ

बढ़ते USB डिस्क स्वचालित रूप से (यह कैसे काम करता है) - यूनिक्स और लिनक्स

पृष्ठभूमि

शेर और माउंटेन लायन में टाइम मशीन यूएसबी फ्लैश ड्राइव से वापस क्यों नहीं आ सकती है, यह समझने की इच्छा। लेकिन यह सवाल आम तौर पर nodevविकल्प के बारे में अधिक है।

जवाबों:


17

nodevविकल्प प्रणाली बनाने और तक पहुँचने की अनुमति रद्द करने बताता डिवाइस नोड्स आप में है कि विशेष फ़ाइलों की तरह - /dev

उदाहरण के लिए, /dev/disk0आपको पहली डिस्क पर संग्रहीत सभी डेटा तक सीधे पहुँच प्रदान करता है, जैसे कि फाइल सिस्टम या अनुमति-जाँच कोड जैसे उच्च स्तरों के माध्यम से जाने के लिए - केवल जाँच की गई अनुमति है कि क्या आपको उस विशिष्ट डिवाइस नोड को खोलने की अनुमति है पढ़ने या लिखने के लिए।

इसका मतलब यह है कि अगर /dev/disk0इसे विश्व-पठनीय बनाया गया था, तो कोई भी उपयोगकर्ता किसी भी अन्य उपयोगकर्ता की फ़ाइलों को एक ही डिस्क पर आसानी से पढ़ सकता है (यदि वे एन्क्रिप्ट नहीं किए गए थे), केवल पढ़ने से /dev/sda

ओएस पर निर्भर करते हुए, /devआमतौर पर कई अन्य प्रकार के डिवाइस नोड्स होंगे, /dev/memजिसमें सिस्टम की संपूर्ण (भौतिक और / या आभासी) मेमोरी तक पहुंच होती है - हालांकि सिस्टम के साथ एक कर्नेल चलाने के साथ नहीं CONFIG_STRICT_DEVMEM(जब तक कि रूट )।

इस कारण से, केवल रूट को आमतौर पर डिवाइस नोड्स बनाने की अनुमति है (अन्य उपयोगकर्ताओं के लिए, mknod"ऑपरेशन की अनुमति नहीं है"), और सभी मौजूदा डिवाइस नोड्स को एक ही स्थान ( /dev) में सख्त फ़ाइल अनुमतियों के साथ रखा जाता है जो सामान्य उपयोगकर्ता नहीं देते हैं। पहुँच पढ़ें या लिखें। (कुछ अपवादों के साथ।) हालांकि, आधुनिक दिनों में, कोई भी आसानी से रूट-केवल प्रतिबंध को किसी अन्य कंप्यूटर पर जाकर बायपास कर सकता है, जिनके पास पहले से रूट एक्सेस है, इसका उपयोग करके यूएसबी ड्राइव पर कुछ डिवाइस नोड्स बनाने के लिए, बहुत खुली अनुमतियों को सेट करना, और उस ड्राइव को आपके कंप्यूटर से कनेक्ट करना ।

यह वह nodevविकल्प है जो रोकता है - भले ही कोई अपनी ड्राइव पर विश्व-पठनीय / विश्व-लिखने योग्य डिवाइस नोड बनाता है, ओएस nodevबढ़ते समय उपयोग किए जाने वाले विकल्प के कारण इसके साथ कुछ भी करने से इनकार करेगा ।


यही कारण nosuidविकल्प पर लागू होते हैं , जो ओएस को सेट्यूड बिट को अनदेखा करने के लिए कहता है जो सामान्य रूप से उपयोगकर्ता की तुलना में विभिन्न विशेषाधिकारों के साथ एक कार्यक्रम को निष्पादित करने का कारण होगा। उदाहरण के लिए, /usr/bin/sudoहै setuid तो यह हमेशा एक ही विशेषाधिकार आ जाते हैं जड़ करता है बिट और जड़ के स्वामित्व में है।


यह एक महान जवाब है - धन्यवाद। अगर मैं चीजों को सही ढंग से समझता हूं, तो एक और सवाल उठता है ... ZEVO समर्थन मंच में: ZEVO ZFS नोड्स विकल्प के बिना क्यों हैं? (फिलहाल मेरे पास HFS प्लस को देने के लिए कोई अतिरिक्त USB हार्ड डिस्क ड्राइव नहीं है।)
ग्राहम पेरिन

@GrahamPerrin: इस तरह के विकल्प nodevडिफ़ॉल्ट रूप से अक्षम होते हैं, और बढ़ते समय स्पष्ट रूप से सेट करना पड़ता है। ओएस एक्स हटाने योग्य डिस्क ऑटो-माउंटर उन्हें सेट करता है, लिनक्स पर बराबर कार्यक्रम भी करते हैं, लेकिन जब mountतक आप मैन्युअल रूप से जोड़ते हैं तब तक वे टर्मिनल से नहीं चलेंगे -o nodev(यह सुरक्षा को नुकसान नहींmount पहुंचाता है क्योंकि खुद को रूट विशेषाधिकारों की आवश्यकता होती है।) इसलिए यह इस बात पर निर्भर करता है कि आपकी ZEVO ZFS डिस्क कैसे आरोहित है।
user1686

ZEVO सामुदायिक संस्करण 1.1.1 के साथ, आयात गतिशील (स्वचालित) है और ऐसा लगता है कि डिफ़ॉल्ट बिना स्वचालित रूप से माउंट है nodev। न तो आयात और न ही ZFS माउंट को प्रमाणीकरण की आवश्यकता होती है ... आइए देखें कि ZEVO क्षेत्र में चीजें कैसे फैन करती हैं।
ग्राहम पेरिन

@grawity: गलत, nodevविकल्प बताता है कि डिवाइस फ़ाइलों को पढ़ता है और लिखता है ताकि मौजूदा भी चिंतित हों। आप अभी भी उन्हें बना सकते हैं।
user2284570
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.