
Tengo un repositorio de datos grande que, por seguridad, deseo mantener montado en modo de solo lectura para una VM que ejecuta Ubuntu 14.04.
Esta máquina virtual ejecuta un servidor Apache y deseo vincular simbólicamente ciertos archivos del recurso montado de solo lectura a (subdirectorios) de public_html
.
Al intentar acceder a estos subdirectorios a través del navegador, están vacíos. Al revisar Apache error.log, veo el siguiente error:
AH00032: Symbolic link not allowed or link target not accessible
Según las respuestas de:
Apache no seguirá el enlace simbólico
Apache 2 Enlace simbólico no permitido o destino del enlace no accesible
Es evidente que necesito chmod +x
archivos y directorios para que Apache pueda acceder a ellos. Sin embargo, esto claramente no se puede hacer en un sistema de archivos de sólo lectura.
Creo que este problema no puede resolverse mediante FollowSymLinks
, ya que es el acceso fundamental al sistema de archivos el que está causando el problema. A pesar de eso, configuré Apache para seguir enlaces simbólicos y verifiqué que funciona cuando apunta a otros archivos en un sistema de archivos de lectura y escritura.
La solución (muy) poco elegante es copiar temporalmente los archivos desde el montaje de solo lectura a algún espacio temporal local y crear un enlace simbólico allí, pero los archivos son grandes, requerirá una limpieza adicional para evitar que esta área aumente, y necesito estos archivos. servido a través de un servidor de solicitudes en escalas de tiempo decentes.
¿Alguien tiene alguna otra sugerencia sobre cómo puedo obtener acceso a archivos con enlaces simbólicos alojados en una unidad de solo lectura?
Muchas gracias,
David
Respuesta1
Monte temporalmente el sistema de archivos como RW, corrija los permisos y vuelva a montarlo RO.
Respuesta2
En parte, gracias a la respuesta de Iain, encontré una solución.
De hecho, el problema parecía surgir de las opciones de montaje en fstab. Cambié de:
data_raid /data_raid/ vboxsf defaults 0 0
a
data_raid /data_raid/ vboxsf defaults,gid=1000,uid=1000 0 0
Donde gid=1000
corresponde a mi nombre de usuario.
El host donde está montado el recurso (rw) ya era chmod+x
. Sin embargo, como estaba montado como raíz, creo que esto causó los problemas de acceso descritos anteriormente.
Reiniciar con las nuevas opciones de montaje (donde el grupo y el usuario ahora son aquellos con los que inicio sesión) permite el acceso en Apache a los archivos vinculados simbólicamente.