Scroll to navigation

NSENTER(1) Commandes de lutilisateur NSENTER(1)

NOM

nsenter - Exécuter un programme dans différents espaces de noms

SYNOPSIS

nsenter [options] [program [arguments]]

DESCRIPTION

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).

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).

OPTIONS

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.

--user-parent

Enter the parent user namespace. Parent user namespace will be acquired from any other enabled namespace. If combined with --user option the parent user namespace will be fetched from the user namespace and replace it.

-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.

--keep-caps

Quand l’option --user est fournie, garantir que les capacités octroyées dans l’espace de noms utilisateur soient conservées dans le processus enfant.

--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).

-c, --join-cgroup

Add the initiated process to the cgroup of the target process.

-h, --help

Afficher l’aide-mémoire puis quitter.

-V, --version

Afficher le numéro de version et quitter.

NOTES

The --user-parent option requires Linux 4.9 or higher, older kernels will raise inappropriate ioctl for device error.

AUTEURS

Eric Biederman <biederm@xmission.com>, Karel Zak <kzak@redhat.com>

VOIR AUSSI

clone(2), setns(2), namespaces(7)

SIGNALER DES BOGUES

Pour signaler un bogue, utilisez le gestionnaire de bogues sur <https://github.com/util-linux/util-linux/issues>.

DISPONIBILITÉ

La commande nsenter fait partie du paquet util-linux, elle est disponible sur l’archive du noyau Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.

2024-04-03 util-linux 2.40