GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué mi montaje de enlace está visible fuera de su espacio de nombres de montaje?

Si está en una distribución basada en systemd con un util-linux versión anterior a la 2.27, verá este comportamiento poco intuitivo. Esto se debe a que CLONE_NEWNS propaga banderas como shared dependiendo de una configuración en el kernel. Esta configuración es normalmente private , pero systemd cambia esto a shared . Desde util-linux 2.27, se realizó un parche que cambia el comportamiento predeterminado del unshare comando para usar private como el comportamiento de propagación predeterminado para que sea más intuitivo.

Solución

Si está en un sistema systemd con util-linux antes de la versión 2.27, debe volver a montar el sistema de archivos raíz después ejecutando el unshare comando:

# unshare --mount -- /bin/bash
# mount --make-private -o remount /

Si está en un sistema systemd con util-linux versión 2.27 o posterior, debería funcionar como se esperaba en el ejemplo que proporcionó en su pregunta, palabra por palabra, sin necesidad de volver a montar. Si no, pase --propagation private al unshare comando para forzar la propagación del espacio de nombres de montaje para que sea privado.


Linux
  1. ¿Una montura de unión?

  2. Solo la raíz puede montar, ¿por qué?

  3. Cómo montar una partición con espacios en la ruta

  4. Dos puntos de montaje distintos con un dispositivo

  5. ¿Obligar a ext4lazyinit a terminar su trabajo?

Construyendo un contenedor a mano usando espacios de nombres:El espacio de nombres de montaje

¿Por qué el montaje no respeta la opción de solo lectura para los montajes de enlace?

Ver/manipular espacios de nombres de montaje en Linux

¿Por qué Linux es similar a Unix si su núcleo es monolítico?

¿Por qué el enlace de montaje de un archivo después de desvincular falla con ENOENT?

IP secundaria en su propio espacio de nombres netns