IPC Namespace
Βασικές Πληροφορίες
Ο IPC (Inter-Process Communication) ονοματοχώρος είναι μια δυνατότητα του πυρήνα του Linux που παρέχει απομόνωση των αντικειμένων του System V IPC, όπως ουρές μηνυμάτων, κοινόχρηστα τμήματα μνήμης και σημαφόρους. Αυτή η απομόνωση εξασφαλίζει ότι οι διεργασίες σε διαφορετικούς IPC ονοματοχώρους δεν μπορούν να έχουν άμεση πρόσβαση ή να τροποποιήσουν τα αντικείμενα IPC ο οποίος ανήκει σε άλλες ονοματοχώρους, παρέχοντας έτσι ένα επιπλέον επίπεδο ασφάλειας και ιδιωτικότητας μεταξύ των ομάδων διεργασιών.
Πώς λειτουργεί:
Όταν δημιουργείται ένας νέος IPC ονοματοχώρος, ξεκινά με ένα πλήρως απομονωμένο σύνολο αντικειμένων του System V IPC. Αυτό σημαίνει ότι οι διεργασίες που εκτελούνται στον νέο IPC ονοματοχώρο δεν μπορούν να έχουν πρόσβαση ή να παρεμβαίνουν στα αντικείμενα IPC σε άλλους ονοματοχώρους ή στο σύστημα του κεντρικού υπολογιστή από προεπιλογή.
Τα αντικείμενα IPC που δημιουργούνται εντός ενός ονοματοχώρου είναι ορατά και προσβάσιμα μόνο από διεργασίες εντός αυτού του ονοματοχώρου. Κάθε αντικείμενο IPC αναγνωρίζεται από ένα μοναδικό κλειδί εντός του ονοματοχώρου του. Αν και το κλειδί μπορεί να είναι ίδιο σε διάφορους ονοματοχώρους, τα ίδια τα αντικείμενα είναι απομονωμένα και δεν μπορούν να προσπελαστούν από διαφορετικούς ονοματοχώρους.
Οι διεργασίες μπορούν να μετακινηθούν μεταξύ ονοματοχώρων χρησιμοποιώντας την κλήση συστήματος
setns()
ή να δημιουργήσουν νέους ονοματοχώρους χρησιμοποιώντας τις κλήσεις συστήματοςunshare()
ήclone()
με τη σημαίαCLONE_NEWIPC
. Όταν μια διεργασία μετακινείται σε έναν νέο ονοματοχώρο ή δημιουργεί έναν νέο, θα αρχίσει να χρησιμοποιεί τα αντικείμενα IPC που σχετίζονται με αυτόν τον ονοματοχώρο.
Εργαστήριο:
Δημιουργία διαφορετικών Ονοματοχώρων
Εντολική γραμμή
Με την προσάρτηση μιας νέας περίπτωσης του συστήματος αρχείων /proc
χρησιμοποιώντας την παράμετρο --mount-proc
, εξασφαλίζετε ότι ο νέος χώρος ονομάτων περιέχει μια ακριβή και απομονωμένη προβολή των πληροφοριών διεργασιών που είναι συγκεκριμένες για αυτόν τον χώρο ονομάτων.
Last updated