IPC Namespace
Basic Information
एक IPC (Inter-Process Communication) नामस्थान एक Linux कर्नेल सुविधा है जो System V IPC वस्तुओं जैसे संदेश कतारों, साझा मेमोरी खंडों और सेमाफोर का अलगाव प्रदान करती है। यह अलगाव सुनिश्चित करता है कि विभिन्न IPC नामस्थानों में प्रक्रियाएँ एक-दूसरे की IPC वस्तुओं को सीधे एक्सेस या संशोधित नहीं कर सकतीं, जो प्रक्रिया समूहों के बीच सुरक्षा और गोपनीयता की एक अतिरिक्त परत प्रदान करता है।
How it works:
जब एक नया IPC नामस्थान बनाया जाता है, तो यह System V IPC वस्तुओं का एक पूरी तरह से अलग सेट के साथ शुरू होता है। इसका मतलब है कि नए IPC नामस्थान में चल रही प्रक्रियाएँ डिफ़ॉल्ट रूप से अन्य नामस्थानों या होस्ट सिस्टम में IPC वस्तुओं को एक्सेस या हस्तक्षेप नहीं कर सकतीं।
एक नामस्थान के भीतर बनाई गई IPC वस्तुएँ केवल उस नामस्थान के भीतर की प्रक्रियाओं के लिए दृश्य और सुलभ होती हैं। प्रत्येक IPC वस्तु को अपने नामस्थान के भीतर एक अद्वितीय कुंजी द्वारा पहचाना जाता है। हालांकि कुंजी विभिन्न नामस्थानों में समान हो सकती है, वस्तुएँ स्वयं अलग हैं और नामस्थानों के बीच एक्सेस नहीं की जा सकतीं।
प्रक्रियाएँ
setns()
सिस्टम कॉल का उपयोग करके नामस्थानों के बीच स्थानांतरित हो सकती हैं याCLONE_NEWIPC
ध्वज के साथunshare()
याclone()
सिस्टम कॉल का उपयोग करके नए नामस्थान बना सकती हैं। जब एक प्रक्रिया नए नामस्थान में जाती है या एक बनाती है, तो यह उस नामस्थान से संबंधित IPC वस्तुओं का उपयोग करना शुरू कर देगी।
Lab:
Create different Namespaces
CLI
By mounting a new instance of the /proc
filesystem if you use the param --mount-proc
, you ensure that the new mount namespace has an सटीक और अलग दृष्टिकोण उस नामस्थान के लिए विशिष्ट प्रक्रिया जानकारी.
Docker
जांचें कि आपका प्रक्रिया किस नामस्थान में है
सभी IPC नामस्थान खोजें
IPC नामस्थान के अंदर प्रवेश करें
आप केवल दूसरे प्रक्रिया नामस्थान में प्रवेश कर सकते हैं यदि आप रूट हैं। और आप दूसरे नामस्थान में प्रवेश नहीं कर सकते बिना एक वर्णनकर्ता जो इसे इंगित करता है (जैसे /proc/self/ns/net
)।
IPC ऑब्जेक्ट बनाएं
संदर्भ
Last updated