La commande nsenter exécute le programme dans le ou les espaces de noms indiqués dans les options de la ligne de commande (décrites ci-dessous). Si programme n’est pas renseigné, « ${SHELL} » est utilisé (par défaut : /bin/sh).
Les espaces de noms où l’entrée est possible sont :
espace de noms de montage
Les montage et démontage de systèmes de fichiers n’affecteront pas le reste du système, sauf pour les systèmes de fichiers explicitement marqués comme partagés (avec
mount --make-shared, consultez
/proc/self/mountinfo pour l’attribut
shared). Pour plus de détails, voir
mount_namespaces(7) et l’explication du drapeau
CLONE_NEWNS dans
clone(2).
espace de noms UTS
La configuration du nom d’hôte ou du nom de domaine n’affectera pas le reste du système. Pour de plus amples détails, consulter
namespaces(7).
espace de noms IPC
Le processus aura un nom d’espace indépendant pour les files de messages POSIX ainsi que pour les files de messages de System V, les ensembles de sémaphores et les segments de mémoire partagée. Pour de plus amples détails, consulter
ipc_namespaces(7)EN.
espace de noms réseau
Le processus aura des piles IPv4 et IPv6, des tables de routage IP, des règles de pare-feu, les arborescences de répertoires
/proc/net et
/sys/class/net, des sockets, etc., indépendantes. Pour de plus amples détails, consulter
namespaces(7).
espace de noms PID
Les enfants auront un ensemble de PID pour traiter les projections séparément du processus
nsenter.
nsenter forkera par défaut en cas de modification de l’espace de noms PID, de telle sorte que le nouveau programme et ses enfants partagent le même espace de noms PID et soient mutuellement visibles. Si
--no-fork est utilisé, le nouveau programme sera exécuté sans forker. Pour plus de détails, voir
pid_namespaces(7).
espace de noms utilisateur
Le processus aura un ensemble propre d’UID, de GID et de capacités. Pour de plus amples détails, consulter
user_namespaces(7).
espace de noms de groupe de contrôle
Le processus aura une vue virtualisée de
/proc/self/cgroup, et les nouveaux montages de groupe de contrôle auront pour racine celle du groupe de contrôle d’espace de noms. Pour de plus amples détails, consulter
cgroup_namespaces(7).
espace de noms temps
Le processus peut avoir une vue distincte de
CLOCK_MONOTONIC ou
CLOCK_BOOTTIME qui peut être modifiée avec
/proc/self/timens_offsets. Pour de plus amples détails, consulter, see
time_namespaces(7)EN.
Plusieurs parmi les options ci-dessous, liées aux espaces de noms, ont un paramètre fichier facultatif. Il doit s’agir d’un des fichiers de /proc/[pid]/ns/* décrits dans namespaces(7), ou le chemin du point de montage lié créé sur un de ces fichiers.
-a, --all
Entrer tous les espaces de noms du processus cible sous forme des chemins d’espace de noms par défaut
/proc/[pid]/ns/*. Les chemins par défaut des noms d’espaces des processus cibles peuvent être remplacés grâce à des options spécifiques aux espaces de noms (comme
--all --mount=[
chemin]).
L’espace de noms utilisateur sera ignoré s’il est identique à l’espace de noms utilisateur actuel de l’appelant. Cela empêche un appelant qui a perdu ses capacités de les retrouver à l’aide d’un appel à setns(). Voir setns(2) pour plus de détails.
-t, --target PID
Indiquer un processus cible duquel obtenir les contextes. Les chemins vers les contextes indiqués par
PID sont respectivement :
/proc/pid/ns/mnt
l’espace de noms montage ;
/proc/pid/ns/uts
l’espace de noms UTS ;
/proc/pid/ns/ipc
l’espace de noms IPC ;
/proc/pid/ns/net
l’espace de noms réseau ;
/proc/pid/ns/pid
l’espace de noms PID ;
/proc/pid/ns/user
l’espace de noms utilisateur ;
/proc/pid/ns/cgroup
l’espace de noms groupe de contrôle ;
/proc/pid/ns/time
l’espace de noms temps
/proc/pid/root
le répertoire racine ;
/proc/pid/cwd
le répertoire de travail.
-m, --mount[=fichier]
Entrer dans l’espace de noms montage. Si aucun fichier n’est indiqué, entrer dans l’espace de noms montage du processus cible. Si fichier est indiqué, entrer dans l’espace de noms montage indiqué par fichier.
-u, --uts[=fichier]
Entrer dans l’espace de noms UTS. Si aucun fichier n’est indiqué, entrer dans l’espace de noms UTS du processus cible. Si fichier est indiqué, entrer dans l’espace de noms UTS indiqué par fichier.
-i, --ipc[=fichier]
Entrer dans l’espace de noms IPC. Si aucun fichier n’est indiqué, entrer dans l’espace de noms IPC du processus cible. Si fichier est indiqué, entrer dans l’espace de noms IPC indiqué par fichier.
-n, --net[=fichier]
Entrer dans l’espace de noms réseau. Si aucun fichier n’est indiqué, entrer dans l’espace de noms réseau du processus cible. Si fichier est indiqué, entrer dans l’espace de noms réseau indiqué par fichier.
-p, --pid[=fichier]
Entrer dans l’espace de noms PID. Si aucun fichier n’est indiqué, entrer dans l’espace de noms PID du processus cible. Si fichier est indiqué, entrer dans l’espace de noms PID indiqué par fichier.
-U, --user[=fichier]
Entrer dans l’espace de noms utilisateur. Si aucun fichier n’est indiqué, entrer dans l’espace de noms utilisateur du processus cible. Si fichier est indiqué, entrer dans l’espace de noms utilisateur indiqué par fichier. Consultez aussi les options --setuid et --setgid.
-C, --cgroup[=fichier]
Entrer dans l’espace de noms groupe de contrôle. Si aucun fichier n’est indiqué, entrer dans l’espace de noms groupe de contrôle du processus cible. Si fichier est indiqué, entrer dans l’espace de noms groupe de contrôle indiqué par fichier.
-T, --time[=fichier]
Entrer dans l’espace de noms temps. Si aucun fichier n’est indiqué, entrer dans l’espace de noms temps du processus cible. Si fichier est indiqué, entrer dans l’espace de noms temps indiqué par fichier.
-G, --setgid GID
Set the group ID which will be used in the entered namespace and drop supplementary groups. nsenter always sets GID for user namespaces, the default is 0. If the argument "follow" is specified the GID of the target process is used.
-S, --setuid UID
Set the user ID which will be used in the entered namespace. nsenter always sets UID for user namespaces, the default is 0. If the argument "follow" is specified the UID of the target process is used.
--preserve-credentials
Ne pas modifier les UID et GID en entrant dans un espace de noms utilisateur. Le comportement par défaut est de supprimer les groupes additionnels et de définir les GID et UID à 0.
-r, --root[=répertoire]
Set the root directory. If no directory is specified, set the root directory to the root directory of the target process. If directory is specified, set the root directory to the specified directory. The specified directory is open before it switches to the requested namespaces.
-w, --wd[=répertoire]
Set the working directory. If no directory is specified, set the working directory to the working directory of the target process. If directory is specified, set the working directory to the specified directory. The specified directory is open before it switches to the requested namespaces, it means the specified directory works as "tunnel" to the current namespace. See also --wdns.
-W, --wdns[=directory]
Set the working directory. The
directory is open after switch to the requested namespaces and after
chroot(2) call. The options
--wd and
--wdns are mutually exclusive.
-e, --env
Pass environment variables from the target process to the new process being created. If this option is not provided, the environment variables will remain the same as in the current namespace..
-F, --no-fork
Ne pas forker avant d’exécuter le programme indiqué. Par défaut, en entrant dans un espace de noms PID, nsenter appelle fork avant d’appeler exec de telle sorte que tous les enfants soient aussi dans l’espace de noms PID nouvellement entré.
-Z, --follow-context
Définir le contexte de sécurité SELinux utilisé pour exécuter un nouveau processus en fonction de processus déjà en cours spécifiés avec --target PID (util-linux doit être compilé avec la prise en charge de SELinux, sans quoi l’option n’est pas disponible).
-h, --help
Afficher l’aide-mémoire puis quitter.
-V, --version
Afficher le numéro de version et quitter.