Compartir Samba: sigue el enlace simbólico pero ya está en la ruta local.

Compartir Samba: sigue el enlace simbólico pero ya está en la ruta local.

Me enfrenté a un problema que no pude encontrar en ninguna parte (por ejemplo, documentación de samba).

Tengo un recurso compartido de samba en el servidor1 y este recurso compartido está montado en el servidor2. El recurso compartido del servidor1 es un enlace simbólico a /var/container/db.

El problema es que cuando intento abrir esta carpeta con enlace simbólico desde el servidor2, muestra mis archivos locales en el servidor2, ya que la ruta /var/container/dbexiste en mi servidor2.

¿Qué puede causar este problema y cuál es la solución?

Ambos servidores se ejecutan en Debian.

Respuesta1

Si comparte un enlace simbólico entre hosts tipo Unix, el sistema que monta el recurso compartido interpretará el enlace simbólico de acuerdo con su propio árbol de sistema de archivos. Así es como funcionan los enlaces simbólicos de estilo Unix.

Si el recurso compartido en el servidor 1 incluye lo que desea que apunte el enlace simbólico, puede usar unrelativoenlace simbólico en lugar de uno absoluto.

Por ejemplo, si su recurso compartido de samba en el servidor1 está /varmontado en el servidor2 como /server1vary el enlace simbólico está ubicado en el servidor1 como /var/some/directory/link-to-db, su enlace simbólico actual se crearía así:

server1# ln -s /var/container/db /var/some/directory/link-to-db

En lugar de eso, podrías hacerlo así:

server1# cd /var/some/directory
server1# ln -s ../../container/db link-to-db

Si la base de datos en el servidor1 no está dentro del recurso compartido Samba, entonces necesitará el parámetro del servidor Samba wide links = yes. Esto haría que el servidor1 siguiera el enlace simbólico y proporcionara acceso al servidor1 /var/container/dben lugar de simplemente pasar el símbolo.

Sin embargo, si el servidor se ejecuta con la configuración predeterminada, también está unix extensions = yeshabilitado de forma predeterminada, lo que se deshabilitará wide linkssi el cliente es un sistema tipo Unix (como en su caso).

Sin embargo, al configurar allow insecure wide links = yes, puede permitir que el wide linksparámetro funcione incluso cuando unix extensionsesté vigente en la conexión compartida.pero esto no se recomienda porque no es seguro.El administrador del servidor 1 perdería el control de lo que se comparte y lo que no, porque los clientes podrían intentar obtener acceso a cualquier archivo fuera del recurso compartido Samba simplemente creando un enlace simbólico adecuado en el recurso compartido si se puede escribir, y entonces sería simplemente una cuestión de si la cuenta de usuario utilizada en la conexión tiene permisos para leer el archivo o no.

Básicamente, allow insecure wide links+ wide links+ unix extensions+ un recurso compartido grabable por el cliente es prácticamente equivalente a simplemente compartir /con Samba. No recomendado.

información relacionada