util-linux の systemd ベースのディストリビューションを使用している場合 2.27 より前のバージョンでは、この非直感的な動作が見られます。これは CLONE_NEWNS のためです shared などのフラグを伝播します カーネルの設定に依存します。この設定は通常 private です 、しかしsystemdはこれを shared に変更します . util-linux 現在 2.27、unshare のデフォルトの動作を変更するパッチが作成されました private を使用するコマンド より直感的になるようにデフォルトの伝播動作として。
解決策
util-linux の systemd システムを使用している場合 バージョン 2.27 より前の場合、後でルート ファイルシステムを再マウントする必要があります。 unshare の実行 コマンド:
# unshare --mount -- /bin/bash
# mount --make-private -o remount /
util-linux の systemd システムを使用している場合 バージョン 2.27 以降では、再マウントする必要なく、質問で指定した例で期待どおりに動作するはずです。そうでない場合は、--propagation private を渡します unshare に マウント名前空間の伝播を強制的に非公開にするコマンド。