Pregunta Escenario: enlace simbólico o unión NTFS?


Diferencias

┌───────────────┬──────────┬──────────┬──────┬──── ───────┬─────┐
│ │ Absoluto │ Relativo │ Archivo │ Directorio │ UNC │
├───────────────┼──────────┼──────────┼──────┼──── ───────┼─────┤
│ Enlace simbólico │ Sí │ Sí │ Sí │ Sí │ Sí │ Sí │ Sí
│ Unión │ Sí │ - │ - │ - │ - Sí │ - │
└───────────────┴──────────┴──────────┴──────┴──── ───────┴─────┘

Guión

Supongamos que estamos creando un punto de reanálisis para crear la redirección C:\SomeDir => D:\SomeDir

Como este escenario solo requiere rutas absolutas locales, funcionará un enlace o un enlace simbólico. En esta situación, ¿hay alguna ventaja al usar uno u otro?

Asuma Windows 7 para el sistema operativo, sin tener en cuenta la compatibilidad con versiones anteriores. (Antes de Vista, los enlaces simbólicos no son compatibles de forma nativa, aunque hay una Controlador de terceros que proporciona soporte de enlace simbólico en Windows XP.)

Actualizar

He encontrado otra diferencia.

  • Enlace simbólico - Los permisos de enlace solo afectan a las operaciones de eliminación / cambio de nombre en el enlace en sí, el acceso de lectura / escritura (al objetivo) se rige por los permisos del objetivo
  • Cruce - Los permisos de Junction afectan a la enumeración, la revocación de permisos en el cruce negará la lista de archivos a través de ese cruce, incluso si la carpeta de destino tiene más ACL permisivas

Los permisos lo hacen interesante, ya que los enlaces simbólicos pueden permitir que las aplicaciones heredadas accedan a archivos de configuración en áreas restringidas por UAC (como %ProgramFiles%) sin cambiar los permisos de acceso existentes, almacenando los archivos en una ubicación no restringida y creando enlaces simbólicos en el directorio restringido.

Actualización 2

Windows 8.1 resolverá enlaces de directorio simbólicos al navegar en uno a través del cuadro de texto en una Save As... caja de diálogo. Las uniones no están expandidas.


17


origen


¿Tiene un enlace a la información de diferencia de permisos? Ese es todo el hallazgo. - surfasb
@surfasb: lo descubrí yo mismo a través de la experimentación en un sistema Windows 7. Todas las pruebas se realizaron en instalaciones limpias de 32 bits y 64 bits. Busqué en línea para ver si podía encontrar artículos relevantes, pero solo pude encontrar una breve mención de los permisos simbólicos de enlace en este artículo de Wikipedia. Hasta donde yo sé, nadie se ha tomado la molestia de documentar este comportamiento hasta el momento. - Unsigned
@surfasb - Encontré otro enlace donde un usuario comentarios sobre los permisos de punto de unión. Los empalmes parecen ser el bicho raro aquí, como manejar Linux / Unix enlaces simbólicos de manera similar a Windows. Los permisos de lectura / escritura en el enlace se ignoran y se aplican los permisos del objetivo. - Unsigned
Mis pruebas confirman que el acceso de lectura al directorio de destino (es decir, enumerar los contenidos del directorio) está restringido por los permisos en el punto de unión además de aquellos en el directorio de destino. Sin embargo, ningún otro acceso parece verse afectado. En particular, puede crear archivos y subcarpetas si los permisos del directorio de destino lo permiten, independientemente de los permisos del punto de unión. - Harry Johnston
@HarryJohnston: Inicialmente, sospeché algo de inconsistencia ya que bloqueé eliminar y escribir permisos para juctions pero los elementos y subcarpetas de debajo funcionan bien. - surfasb


Respuestas:


Entiendo que los enlaces simbólicos de NTFS son un reemplazo para Junctions en los sistemas operativos Windows más nuevos (Vista / 7/8) ya que funcionan de la misma manera pero también proporcionan funcionalidad adicional (puntos remotos). Por lo tanto, si solo está trabajando con sistemas operativos más nuevos, entonces no hay razón para no usar la opción de enlace simbólico.


3



De forma predeterminada, los enlaces simbólicos en los servidores se ignorarán e, incluso si se siguen, están restringidos por las reglas de acceso de nivel compartido del servidor: así, por ejemplo, no puede enlazarse a una ubicación en el servidor que no se comparte, o si compartir no le da acceso al usuario. Por lo tanto, los enlaces simbólicos no pueden reemplazar los puntos de unión en todos los contextos. - Harry Johnston


Creo que los puntos de unión tienen un soporte más amplio en el software de respaldo que los enlaces simbólicos. Debe verificar con cualquier programa de respaldo que esté utilizando qué característica es compatible.

Si no se admite, el enlace simbólico / punto de unión se copiará como un directorio separado (y se restaurará como tal), o no se respaldará en absoluto.

Aparte del problema de la copia de seguridad, no veo una razón para preferir uno sobre el otro, en su caso específico (directorio local).


3



Los puntos de unión y los enlaces simbólicos se implementan a través de NTFS utilizando puntos de reanálisis. Según MSDN, ambos son tratados de la misma manera por operaciones de archivos a través de la API. - surfasb
@surfasb: Sin embargo, si los enlaces simbólicos no son específicamente compatibles (y se reconocen como tales), no se recrearán como enlaces simbólicos durante la restauración desde la copia de seguridad. - haimg
Ah, muy buen punto! No pensé lo suficiente adelante. - surfasb
Hasta donde yo sé, esto es más importante si se accede al volumen por los sistemas operativos de Windows más antiguos. - can-ned_food


Las uniones NTFS solo se pueden apuntar a directorios, mientras que los enlaces simbólicos también funcionan en archivos.


1



Pero para los archivos, puedes usar un enlace físico en su lugar. - paradroid
@paradroid: solo si está en el mismo volumen NTFS. - Unsigned


Aquí hay una diferencia que he notado:

Tengo un directorio sincronizado de scripts, aplicaciones portátiles, etc. Utilizo un script por lotes para hacer un cruce en el directorio del menú de inicio que apunta a un directorio de accesos directos para las aplicaciones portátiles.

Un cruce permite que los accesos directos aparezcan en el menú de inicio. Cuando utilizo un Enlace simbólico, no funciona.


0



Extraño, esto funciona bien para mí. También tengo enlaces simbólicos a unidades de memoria flash conectadas a mi máquina. - surfasb
@surfasb: ¿Estás seguro de que estás haciendo lo que describí? Los accesos directos dentro de un directorio apuntado por un enlace simbólico con el directorio del Menú de Inicio no aparecen en mi Menú de Inicio. Lo hacen cuando se usa un cruce. - paradroid
No estoy seguro de si lo leí correctamente. Entonces, ¿en el menú de inicio, un enlace simbólico que apunta a una carpeta que contiene accesos directos? Lo intenté justo ahora. Incluso obtuve el enlace simbólico para apuntar a otro enlace simbólico en una ruta de acceso unc que apuntaba a la carpeta en una ruta UNC con accesos directos. Por supuesto, eso rompe los atajos. Pero un recorrido de enlace simbólico "remoto a remoto" está deshabilitado de forma predeterminada en Windows. - surfasb


Tal vez me lo he perdido en algún lugar de los comentarios, pero una diferencia muy importante entre los enlaces simbólicos y las uniones en Windows para mí son los privilegios necesarios para crear ambos. Mientras que los enlaces simbólicos son por defecto solo creables usando permisos especiales que los usuarios predeterminados no tienen, los enlaces predeterminados pueden crearse fácilmente por todos los usuarios predeterminados OOB y, por lo tanto, son mi tipo de enlace preferido para los directorios.

Por defecto, los miembros del grupo Administradores tienen este derecho.

https://docs.microsoft.com/en-us/windows/device-security/security-policy-settings/create-symbolic-links


0