nsenter

Linux
Publiée le 2026-10-11 05:11:37
Illustration Linux pour la commande nsenter

nsenter


# Exécuter un programme dans tous les espaces de noms d'un processus cible ($PID)
nsenter -a --target $PID /bin/bash

# Entrer uniquement l'espace de noms réseau du PID cible et exécuter 'ip a'
nsenter -n --target $PID ip a

# Entrer uniquement l'espace de noms de montage (mount) pour le PID cible
nsenter -m --target $PID ls /proc/mounts

# Tester un changement d'hôte dans l'espace de noms UTS du processus 1
nsenter -u --uts="new.hostname" --target 1 hostname

# Entrer l'espace de noms réseau et le PID pour vérifier les interfaces
nsenter -n -p --target $PID ip a

# Exécuter un programme en utilisant tous les espaces de noms (test général)
nsenter -a --target $PID /bin/bash -c "echo 'Dans tout les namespaces'"

# Entrer l'espace de noms utilisateur et définir un UID spécifique
nsenter -u --setuid 1000 --target $PID id -u

# Entrer uniquement l'espace de noms PID du processus parent (si on est enfant)
nsenter -p --user-parent --target $$ /bin/bash

# Tester l'isolation réseau en utilisant le socket FD actuel
# (Nécessite un fichier descriptor valide $FD)
nsenter -N --net-socket $FD /bin/ip addr show

# Entrer les espaces de noms PID et Mount pour une isolation complète
nsenter -p -m --target $PID whoami

# Exécuter 'whoami' dans l'espace de nom utilisateur du processus 1 (root)
nsenter -u --target 1 whoami

# Vérifier le contexte cgroup du processus cible ($PID)
nsenter -C --target $PID cat /proc/self/cgroup

# Exécuter une commande simple en utilisant tous les namespaces sur soi-même
nsenter -a /bin/echo "Test réussi dans mon propre contexte"

# Entrer l'espace de noms réseau et le PID pour un test combiné
nsenter -n -p --target $PID sleep 5