GNU/Linux >> Tutoriales Linux >  >> Linux

¿Solo lectura enlazar-montar?

Respuesta directa del artículo de LWN:

mount --bind /vital_writable_data /untrusted_container/vital_data
mount -o bind,remount,ro /untrusted_container/vital_data

Compatible desde Linux 2.6.26.


Según este artículo es posible. Necesita un kernel reciente.

mount --bind -o ro /vital_data /untrusted_container/vital_data

En Squeeze solía funcionar solo con:

mount --bind /src /dst

entonces

mount -o remount,ro /dst

Ahora en Debian Wheezy tienes que hacer:

mount -o remount,ro,bind /dst

para deshacerse del:mensaje de recurso ocupado.

Editar:ahora en Debian Jessie, mount intenta ser inteligente y monta subdirectorios, que si ya están montados con bind, se vuelven recursivos y suceden cosas malas :)

Hay una opción especial que obliga a util-linux a volver a ser 'estúpido'. La solución es esta:

mount --bind --make-rprivate /sbin/ $prefix/sbin/
mount -o remount,ro,bind $prefix/sbin/

Luego puede montar --bind $prefix/sbin en otro directorio.

Desde la página del manual:

Las operaciones del subárbol compartido. Desde Linux 2.6.15 es posible marcar un montaje y sus submontajes como compartidos, privados, esclavos o no enlazables. Un montaje compartido brinda la capacidad de crear espejos de ese montaje de modo que los montajes y desmontajes dentro de cualquiera de los espejos se propaguen al otro espejo. Una montura esclava recibe propagación de su maestro, pero no al revés. Una montura privada no tiene habilidades de propagación. Un montaje no enlazable es un montaje privado que no se puede clonar a través de una operación de enlace. La semántica detallada está documentada en el archivo Documentation/filesystems/sharedsubtree.txt en el árbol de fuentes del kernel. Las operaciones admitidas son:

     mount --make-shared mountpoint
     mount --make-slave mountpoint
     mount --make-private mountpoint
     mount --make-unbindable mountpoint

Los siguientes comandos permiten cambiar recursivamente el tipo de todos los montajes bajo un punto de montaje dado.

     mount --make-rshared mountpoint
     mount --make-rslave mountpoint
     mount --make-rprivate mountpoint
     mount --make-runbindable mountpoint

mount(8) no lee fstab(5) cuando se solicita una operación --make-*. Toda la información necesaria debe especificarse en la línea de comandos. Tenga en cuenta que el kernel de Linux no permite cambiar varios indicadores de propagación con una sola llamada al sistema mount(2), y los indicadores no se pueden mezclar con otras opciones de montaje.

Desde util-linux 2.23, el comando de montaje permite usar varios indicadores de propagación juntos y también junto con otras operaciones de montaje. Esta función es EXPERIMENTAL. Los indicadores de propagación se aplican mediante llamadas al sistema mount(2) adicionales cuando las operaciones de montaje anteriores se realizaron correctamente. Tenga en cuenta que este caso de uso no es atómico. Es posible especificar las banderas de propagación en fstab(5) como opciones de montaje (privado, esclavo, compartido, no enlazable, rprivate, rslave, rshared, runbindable).


Linux
  1. ¿Entendiendo si?

  2. ¿Acceso de solo lectura a todos los archivos en una subcarpeta específica?

  3. ¿Por qué el descriptor de archivo se abre y se lee solo una vez?

  4. ¿Problema del sistema de archivos de solo lectura?

  5. ¿La partición Ntfs está montada como de solo lectura?

Verificación de la validez de un montaje NFS

¿Cómo verificar si un directorio en particular está montado?

Linux:¿Mostrar solo puntos de montaje "interesantes" / Filtrar tipos no interesantes?

¿Corrección del sistema de archivos de solo lectura de Ubuntu VM?

Montar dispositivo con derechos de usuario específicos

¿Hay alguna manera de iniciar vim en modo de solo lectura?