Mount Namespace
मूल जानकारी
माउंट नेमस्पेस एक लिनक्स कर्नेल सुविधा है जो एक समूह के प्रक्रियाओं द्वारा देखे गए फ़ाइल सिस्टम माउंट पॉइंट का अलगीकरण प्रदान करती है। प्रत्येक माउंट नेमस्पेस के अपने फ़ाइल सिस्टम माउंट पॉइंट का सेट होता है, और एक नेमस्पेस में माउंट पॉइंट्स में परिवर्तन अन्य नेमस्पेस को प्रभावित नहीं करते। इसका मतलब है कि विभिन्न माउंट नेमस्पेस में चल रही प्रक्रियाएं फ़ाइल सिस्टम हायरार्की का विभिन्न दृश्य रख सकती हैं।
माउंट नेमस्पेस कंटेनरीकरण में विशेष रूप से उपयुक्त है, जहाँ प्रत्येक कंटेनर को अपना खुद का फ़ाइल सिस्टम और विन्यास होना चाहिए, अन्य कंटेनर और होस्ट सिस्टम से अलग।
कैसे काम करता है:
जब एक नया माउंट नेमस्पेस बनाया जाता है, तो इसे उसके माता-पिता नेमस्पेस से माउंट पॉइंट्स की कॉपी के साथ आरंभ किया जाता है। इसका मतलब है कि, निर्माण के समय, नया नेमस्पेस फ़ाइल सिस्टम का एक समान दृश्य साझा करता है जैसे कि उसके माता-पिता। हालांकि, नेमस्पेस के भीतर माउंट पॉइंट्स में किए गए किसी भी भविष्यवाणी परिवर्तन माता-पिता या अन्य नेमस्पेस को प्रभावित नहीं करेगा।
जब कोई प्रक्रिया अपने नेमस्पेस में माउंट पॉइंट को संशोधित करती है, जैसे कि फ़ाइल सिस्टम को माउंट करना या अनमाउंट करना, तो परिवर्तन उस नेमस्पेस के लिए स्थानीय होता है और अन्य नेमस्पेस पर प्रभावित नहीं होता। यह हर नेमस्पेस को अपनी स्वतंत्र फ़ाइल सिस्टम हायरार्की देने की अनुमति देता है।
प्रक्रियाएं
setns()
सिस्टम कॉल का उपयोग करके नेमस्पेस के बीच ले जा सकती हैं, याunshare()
याclone()
सिस्टम कॉल का उपयोग करकेCLONE_NEWNS
फ़्लैग के साथ नए नेमस्पेस बना सकती हैं। जब कोई प्रक्रिया नए नेमस्पेस में जाती है या एक नया बनाती है, तो वह उस नेमस्पेस से संबंधित माउंट पॉइंट्स का उपयोग करना शुरू करेगी।फ़ाइल डिस्क्रिप्टर और इनोड्स नेमस्पेस के बीच साझा किए जाते हैं, इसका मतलब है कि यदि एक प्रक्रिया एक नेमस्पेस में एक फ़ाइल को दिखाने वाला खुला फ़ाइल डिस्क्रिप्टर रखती है, तो वह प्रक्रिया दूसरे नेमस्पेस में एक प्रक्रिया को उस फ़ाइल डिस्क्रिप्टर को पास कर सकती है, और दोनों प्रक्रियाएं वही फ़ाइल एक्सेस करेंगी। हालांकि, माउंट पॉइंट्स में अंतर के कारण दोनों नेमस्पेस में फ़ाइल का पथ समान नहीं हो सकता।
लैब:
विभिन्न नेमस्पेस बनाएँ
CLI
यदि आप --mount-proc
पैरामीटर का उपयोग करके /proc
फ़ाइल सिस्टम का एक नया इंस्टेंस माउंट करते हैं, तो आप सुनिश्चित करते हैं कि नया माउंट नेमस्पेस उस नेमस्पेस के लिए प्रक्रिया सूचना का सटीक और अलगजीकृत दृश्य रखता है।
जांचें कि आपकी प्रक्रिया किस नेमस्पेस में है
सभी माउंट नेमस्पेस खोजें
माउंट नेमस्पेस के अंदर जाएं
आप केवल रूट होने पर दूसरे प्रक्रिया नेमस्पेस में प्रवेश कर सकते हैं। और आप उसमें प्रवेश नहीं कर सकते बिना एक डिस्क्रिप्टर के जो इसे पॉइंट करता है (जैसे /proc/self/ns/mnt
).
क्योंकि नए माउंट्स केवल नेमस्पेस के भीतर एक्सेस करने योग्य होते हैं, इससे संभव है कि एक नेमस्पेस में संवेदनशील जानकारी हो जो केवल उससे ही एक्सेस की जा सकती है।
कुछ माउंट करें
संदर्भ
Last updated