Uno de mis scripts crea dinámicamente un enlace simbólico como este:
ln -s /home/hosting/projects/images /home/hosting/projects/demo/images
¿Cómo puedo hacer que el acceso a través del enlace sea de solo lectura?
fuente
Uno de mis scripts crea dinámicamente un enlace simbólico como este:
ln -s /home/hosting/projects/images /home/hosting/projects/demo/images
¿Cómo puedo hacer que el acceso a través del enlace sea de solo lectura?
Puede crear un montaje de enlace de solo lectura .
mount --bind /path/to/source/ /path/to/dest/
mount -o bind,remount,ro /path/to/dest
Sí, esto debe hacerse en dos pasos en los núcleos después de los núcleos de Linux 2.6.25 (consulte el enlace anterior para saber por qué).
O, alternativamente, como un /etc/fstab
ejemplo de línea ref :
/path/to/source/ /path/to/dest/ none bind,ro
En cualquier enfoque, un montaje de enlace vive en la capa del Sistema de archivos virtual (VFS), por lo que no es específico de ningún sistema de archivos, ni realmente 'monta' nada. Entonces, básicamente, esto está creando una especie de enlace simbólico para usted, pero esto no aparece como tal.
Y para responder al comentario a continuación sobre la pérdida de datos ... no, estas instrucciones no eliminan ningún archivo. En caso de que tenga archivos presentes en la ruta de destino, este montaje se colocará sobre esto. Simplemente desmonte para poder enumerar sus archivos en la ruta en el sistema de archivos debajo. Aun mejor; en general, evite montar encima de una ruta de destino no vacía.
mount -o bind,remount,ro /path/to/dest
Ver lwn.net/Articles/637501 de ese mismo hilo.mount -o remount,ro /path/to/dest
me da el siguiente error:mount: mount point is busy.
@gertvdijkpara montar bind readonly con un solo comando:
desmontar
fuente