virli/tutorial/4/setns.md

16 lines
771 B
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### Rejoindre un *namespace*
Rejoindre un espace de noms se fait en utilisant l'appel système `setns(2)`, ou
la commande `nsenter(1)`. Il est nécessaire de donner en argument
respectivement un *file descriptor* ou le chemin vers le fichier, lien
symbolique, représentant l'espace de nom (dans `/proc/<PID>/ns/...`).
Une particularité de ces fichiers, que l'on ne peut pas afficher (leurs liens
ne pointent pas sur des fichiers que l'on peut atteindre), c'est que l'on peut
les ouvrir avec `open(2)` pour obtenir un *file descriptor* que l'on pourra
passer à `setns(2)`.
Pour les commandes *shell*, il convient de donner en argument le chemin vers le
lien symbolique : la commande se chargera d'`open(2)` le fichier pour obtenir
le *file descriptor* nécessaire.