क्योंकि अंतर्निहित डिवाइस तक पहुंच केवल डिफ़ॉल्ट रूप से फ़ाइल अनुमतियों द्वारा नियंत्रित की जाती है, इसलिए यदि आपके यूएसबी स्टिक में सिस्टम में वास्तविक डिवाइस के अनुरूप एक विश्व-लिखने योग्य डिवाइस नोड के साथ एक पॉसिक्स फाइलसिस्टम है, तो आप संबंधित तक पहुंचने के लिए उस डिवाइस नोड का उपयोग कर सकते हैं। डिवाइस एक "सादे" उपयोगकर्ता के रूप में। एक ऑडियो डिवाइस, आपके वेब कैमरा, /dev/sda
(जो एक चरित्र डिवाइस के बजाय एक ब्लॉक डिवाइस है, लेकिन तर्क समान है) के अनुरूप डिवाइस की कल्पना करें ...
यहां चीजों को स्पष्ट करने के लिए एक उदाहरण दिया गया है। कहो कि आप एक्सेस करना चाहते हैं /dev/sda
(तब आप डिस्क की सामग्री के साथ बहुत कुछ कर सकते हैं, जिसमें एक प्रोग्राम रोपण भी शामिल है जो आपको बनने देगा root
। यह एक ब्लॉक डिवाइस है लेकिन समस्या चरित्र उपकरणों के साथ समान है)। आपके लक्ष्य प्रणाली पर, ls -l /dev/sda
दिखाता है
brw-rw---- 1 root disk 8, 0 Sep 8 11:25 sda
इसका अर्थ /dev/sda
है एक ब्लॉक डिवाइस ( b
लाइन की शुरुआत में), जिसमें प्रमुख संख्या 8 और छोटी संख्या 0 ( 8, 0
लाइन के मध्य में) है। डिवाइस केवल root
(पढ़ने / लिखने) और disk
समूह के सदस्यों (पढ़ने / लिखने) के लिए ही सुलभ है ।
अब इस प्रणाली की कल्पना करें जो आप नहीं बन सकते हैं root
लेकिन किसी कारण से आप बिना उपयोगकर्ता के रूप में यूएसबी स्टिक माउंट कर सकते हैं nodev
। एक अन्य प्रणाली पर, जहाँ आप हैं root
, आप अपने USB कुंजी पर एक विशेष फ़ाइल बना सकते हैं:
mknod -m 666 usersda b 8 0
यह एक विशेष फ़ाइल बनाएगा usersda
, जिसे सभी द्वारा पढ़ा जा सकता है।
अपने लक्ष्य प्रणाली पर कुंजी माउंट करें और हे presto, आप usersda
उसी तरह से डिवाइस का उपयोग कर सकते हैं /dev/sda
, लेकिन कोई एक्सेस प्रतिबंध नहीं ...
(यह एन्क्रिप्टेड फ़ाइल सिस्टम के साथ भी काम करेगा, जब तक आप डिक्रिप्ट किए गए मैपर डिवाइस तक पहुंचने में सक्षम होते हैं: डिवाइस बनाएं जो उपयुक्त /dev/mapper
प्रविष्टि से मेल खाता है ।)