¿Se puede seguir un punto de unión NTFS a través de un recurso compartido de red?

¿Se puede seguir un punto de unión NTFS a través de un recurso compartido de red?

Sistema operativo: Windows Server 2016

Si tengo una carpeta X que contiene un punto de unión con otra carpeta Y (en la misma máquina y el mismo volumen). Entonces, si comparto X a través de la red, ¿un usuario remoto que se conecte a X será redirigido a Y?

El caso de uso es que la ubicación/nombre de la carpeta Y cambia de vez en cuando después de la ejecución de una tarea programada. Pero me gustaría que los usuarios remotos utilicen siempre el mismo nombre compartido de red (X). Podría actualizar el punto de unión durante la ejecución de la tarea.

¿Existe alguna otra tecnología con la que pueda lograr esto? Tuve cierto éxito con el siguiente método: vuelvo a crear o actualizo un recurso compartido de red llamado X y hago que apunte directamente a Y. Pero esto solo funciona si X es un recurso compartido de nivel superior.

Estoy buscando una solución que también funcione en el siguiente caso: Sea X un recurso compartido de Y. Luego, si Y contiene una subcarpeta A, los usuarios remotos pueden acceder a ella a través de la ruta de red X\A. Pero también necesito el caso en el que a través de una ruta de red, digamos X\B, los usuarios remotos deberían poder acceder a una ruta completamente diferente en la máquina. De ahí mi idea de crear un punto de unión desde Y\B con otro camino. (a qué usuarios remotos accederían a través de X\B)

¿Es posible?

Respuesta1

Sí, el servidor de archivos SMB seguirá automáticamente las uniones de directorios ( mklink /j) de forma transparente, incluso si el destino apunta fuera de una carpeta compartida. (Probado experimentalmente).

Por otro lado, el servidor no seguirá enlaces simbólicos ( mklink /d): se dejan en manos del cliente, que tampoco los seguirá de forma predeterminada (y si habilita esta opción, el destino obviamente debe ser otra carpeta compartida). Consulte la publicación de harrymc para obtener más información.

Como tercera opción, en Windows Server puede crear un recurso compartido comoEspacio de nombres DFS, bajo el cual puede tener tanto archivos normales como directorios especiales de "referencia" que pueden apuntar a otro recurso compartido, incluso en otro servidor. (Estas referencias siempre se siguen en el lado del cliente y son reconocidas por todas las versiones de Windows; libsmbclient; e incluso Linux cifs.ko).

DFS es probablemente la opción preferida si alguna vez es necesario mover la carpeta Y a una máquina diferente. (No requiere Active Directory, aunque la autenticación común en todos los servidores de archivos facilita las cosas).

Respuesta2

El cliente predeterminado de Windows es no permitir cadenas de enlaces simbólicos.

El comando que controla ese comportamiento es fsutil, documentado con más detalle en el artículo. Comportamiento inútil.

El comportamiento específico que busca se denomina SymlinkEvaluation. Puede ver su valor actual ingresando el comando en el símbolo del sistema fsutil behavior query SymlinkEvaluation. Los siguientes son los valores predeterminados en mi Windows 10:

ingrese la descripción de la imagen aquí

Los códigos de comportamiento SymlinkEvaluationtienen los nombres de L2L, L2R, R2Ly R2R, lo que significa lo siguiente:

  • Lsignifica "Local" y R"Remoto"
  • El PRIMERO Lo R-antesel 2- se refiere a la ubicación del enlace en sí (no a su destino)relativo a la máquina ACCEDIENDO al enlace.
  • El SEGUNDO Lo R-despuésel 2- se refiere a la ubicación del enlaceobjetivo en relación con la máquina donde se encuentra el LINK.

Por ejemplo, la configuración SymlinkEvaluation R2Lsignifica que puede controlar el acceso a los enlaces:

  • ubicado en una máquina remota ( R)
  • que apuntan a objetivos en esa misma máquina remota ( L)

Así las posibilidades son:

  1. Enlaces simbólicos locales a locales,L2L:{0|1}
  2. Enlaces simbólicos locales a remotos,L2R:{0|1}
  3. Enlaces simbólicos remotos a locales,R2R:{0|1}
  4. Enlaces simbólicos remotos a remotos,R2L:{0|1}

donde 0significa discapacitado y 1significa habilitado.

El comando que podría estar buscando es:

fsutil behavior set SymlinkEvaluation R2L:1

Sólo recuerde que esto debe hacerse en el cliente, no en el servidor.

Respuesta3

Septiembre de 2022: los cruces sobre la red compartida parecen haber dejado de funcionar.

https://learn.microsoft.com/en-us/sysinternals/downloads/junction

Última actualización: 19/07/2022

Nota

Windows no admite uniones con directorios en recursos compartidos remotos.

En el pasado creé uniones en mi servidor compartido de red, apuntando a una unidad diferente. Todo funcionó bien. No lo he usado por un tiempo hasta ahora, pero se rompió.

  • En el lado del cliente, al hacer doble clic en el icono de cruce no se produce ninguna reacción: no aparece ni cambia nada.
  • En el lado del cliente, "Propiedades" muestra la unión como una carpeta, pero tiene 0 bytes y 0 archivos.
  • Al hacer clic derecho en el icono y seleccionar "Abrir en una ventana nueva" no se produce ninguna reacción.
  • Ni "Asignar unidad de red" ni ir directamente a \servidor\compartir funcionaron

En el lado del servidor, hacer esto no ayudó:

  • Configurar un nuevo recurso compartido para el destino de unión.
  • Comenzar de nuevo, crear una nueva unión, un nuevo recurso compartido, restablecer la pestaña "Seguridad"

Windows 10 Pro 21H2 19044.1889 Paquete de experiencia de funciones de Windows 120.2212.4180.0

Felicitaciones a The Great Microsoft por romper otra característica de productividad.

información relacionada