Si vous êtes sur une distribution basée sur systemd avec un util-linux version inférieure à 2.27, vous verrez ce comportement peu intuitif. C'est parce que CLONE_NEWNS propage des drapeaux tels que shared en fonction d'un paramètre dans le noyau. Ce paramètre est normalement private , mais systemd change cela en shared . Depuis util-linux 2.27, un patch a été fait qui change le comportement par défaut du unshare commande pour utiliser private comme comportement de propagation par défaut pour être plus intuitif.
Solution
Si vous êtes sur un système systemd avec util-linux avant la version 2.27, vous devez remonter le système de fichiers racine après exécutant le unshare commande :
# unshare --mount -- /bin/bash
# mount --make-private -o remount /
Si vous êtes sur un système systemd avec util-linux version 2.27 ou ultérieure, cela devrait fonctionner comme prévu dans l'exemple que vous avez donné dans votre question, textuellement, sans qu'il soit nécessaire de remonter. Sinon, passez --propagation private au unshare commande pour forcer la propagation de l'espace de noms de montage à être privé.