UTS Namespace
Informations de base
Un espace de noms UTS (UNIX Time-Sharing System) est une fonctionnalité du noyau Linux qui fournit l'isolation de deux identifiants système : le nom d'hôte et le domaine NIS (Network Information Service). Cette isolation permet à chaque espace de noms UTS d'avoir son propre nom d'hôte et domaine NIS indépendants, ce qui est particulièrement utile dans des scénarios de conteneurisation où chaque conteneur doit apparaître comme un système séparé avec son propre nom d'hôte.
Comment cela fonctionne :
Lorsqu'un nouvel espace de noms UTS est créé, il démarre avec une copie du nom d'hôte et du domaine NIS de son espace de noms parent. Cela signifie qu'à la création, le nouvel espace de noms partage les mêmes identifiants que son parent. Cependant, toute modification ultérieure du nom d'hôte ou du domaine NIS dans l'espace de noms n'affectera pas les autres espaces de noms.
Les processus au sein d'un espace de noms UTS peuvent changer le nom d'hôte et le domaine NIS en utilisant les appels système
sethostname()
etsetdomainname()
, respectivement. Ces modifications sont locales à l'espace de noms et n'affectent pas les autres espaces de noms ou le système hôte.Les processus peuvent se déplacer entre les espaces de noms en utilisant l'appel système
setns()
ou créer de nouveaux espaces de noms en utilisant les appels systèmeunshare()
ouclone()
avec le drapeauCLONE_NEWUTS
. Lorsqu'un processus se déplace vers un nouvel espace de noms ou en crée un, il commencera à utiliser le nom d'hôte et le domaine NIS associés à cet espace de noms.
Laboratoire :
Créer différents espaces de noms
CLI
En montant une nouvelle instance du système de fichiers /proc
en utilisant le paramètre --mount-proc
, vous vous assurez que le nouveau namespace de montage a une vue précise et isolée des informations de processus spécifiques à ce namespace.
Docker
Vérifier dans quel espace de noms se trouve votre processus
Trouver tous les espaces de noms UTS
Entrer dans un espace de noms UTS
De plus, vous ne pouvez entrer dans un autre espace de processus que si vous êtes root. Et vous ne pouvez pas entrer dans un autre espace sans un descripteur pointant vers celui-ci (comme /proc/self/ns/uts
).
Changer le nom d'hôte
Références
Last updated