stringtranslate.com

Punto de análisis de NTFS

Un punto de análisis NTFS es un tipo de objeto del sistema de archivos NTFS . Está disponible con NTFS v3.0 que se encuentra en Windows 2000 o versiones posteriores. Los puntos de análisis proporcionan una forma de ampliar el sistema de archivos NTFS. Un punto de análisis contiene una etiqueta de análisis y datos que son interpretados por un controlador de filtro del sistema de archivos identificado por la etiqueta. Microsoft incluye varias etiquetas predeterminadas, entre ellas enlaces simbólicos NTFS , puntos de unión de directorios , puntos de montaje de volumen y sockets de dominio Unix . Además, los puntos de análisis se utilizan como marcadores de posición para los archivos movidos por el Sistema de almacenamiento jerárquico de almacenamiento remoto de Windows 2000. También pueden actuar como enlaces físicos [ cita requerida ] , pero no se limitan a apuntar a archivos en el mismo volumen: pueden apuntar a directorios en cualquier volumen local. La característica [ ¿cuál? ] se hereda de ReFS . [1]

El controlador NTFS-3G de código abierto implementa soporte integrado para los puntos de análisis de tipo enlace, es decir, enlaces simbólicos y puntos de unión. Hay disponible un sistema de filtro de complementos para manejar tipos adicionales de puntos de análisis, lo que permite leer archivos deduplicados en fragmentos, archivos comprimidos por el sistema y archivos de OneDrive . [2]

Estructura

Un punto de análisis tiene la siguiente estructura general, en formato de estructura C:

struct REPARSE_BUFFER { uint32_t ReparseTag ; uint32_t ReparseDataLength ; uint16_t Reservado ; uint8_t DataBuffer []; // miembro de matriz flexible }           

La etiqueta de análisis [3] es exclusiva de cada tipo de punto de análisis. Define a qué controlador de punto de análisis (normalmente un controlador de filtro del sistema de archivos) el administrador de E/S delega el procesamiento. [4] Microsoft proporciona documentación sobre algunos tipos de etiquetas "públicas". [5]

Tipos

Puntos de montaje de volumen

Los puntos de montaje de volumen son similares a los puntos de montaje de Unix , donde la raíz de otro sistema de archivos se adjunta a un directorio. En NTFS, esto permite montar sistemas de archivos adicionales sin necesidad de una letra de unidad independiente (como o ) para cada uno.C:D:

Una vez que se ha montado un volumen sobre un directorio existente de otro volumen, el contenido que figuraba previamente en ese directorio se vuelve invisible y se reemplaza por el contenido del directorio raíz del volumen montado. [ cita requerida ] El volumen montado aún podría tener su propia letra de unidad asignada por separado. El sistema de archivos no permite que los volúmenes se monten mutuamente. Los puntos de montaje de los volúmenes se pueden configurar para que sean persistentes (se vuelvan a montar automáticamente después de reiniciar el sistema) o no persistentes (se deben volver a montar manualmente después de reiniciar). [ cita requerida ]

Los volúmenes montados pueden utilizar otros sistemas de archivos además de NTFS, posiblemente con sus propias configuraciones de seguridad y reasignación de derechos de acceso de acuerdo con la política del sistema de archivos remoto.

Los nombres sustitutos de los puntos de montaje de volumen utilizan el formato de espacio de nombres NT \??\DeviceName\. [6] [7] [4] Las uniones generalmente se utilizan \??\<drive>:\para hacer referencia a un volumen con una letra de controlador existente, mientras que los puntos de montaje de volumen verdaderos se utilizan \??\Volume{<guid>}para hacer referencia a cualquier volumen. Las rutas UNC no son válidas para las uniones. [8]

Uniones de directorios

Las uniones de directorios se definen utilizando exactamente el mismo mecanismo (y etiqueta de análisis: IO_REPARSE_TAG_MOUNT_POINT) que los puntos de montaje de volumen. La única diferencia es que sus nombres sustitutos apuntan a un subdirectorio de otro volumen que normalmente ya tiene una letra de unidad. Esta función es conceptualmente similar a los enlaces simbólicos a directorios en Unix , excepto que el destino en NTFS siempre debe ser otro directorio (los sistemas de archivos Unix típicos permiten que el destino de un enlace simbólico sea cualquier tipo de archivo). [4]

Por ejemplo, el directorio C:\exampledircon un atributo de unión de directorio que contiene un enlace a D:\linkeddirse referirá automáticamente al directorio D:\linkeddircuando una aplicación en modo usuario acceda a él. [9]

Las uniones de directorios (que se pueden crear con el comando MKLINK /J junctionName targetDirectoryy eliminar con RMDIR junctionNamedesde un indicador de consola) son persistentes y se resuelven en el lado del servidor, ya que comparten el mismo ámbito de seguridad del sistema local o dominio en el que está montado el volumen principal y las mismas configuraciones de seguridad para su contenido que el contenido del directorio de destino; sin embargo, la unión en sí puede tener configuraciones de seguridad distintas. Desvincular una unión de directorios no elimina los archivos del directorio de destino.

Algunas uniones de directorios se instalan de forma predeterminada en Windows Vista, por compatibilidad con versiones anteriores de Windows, como Documents and Settingsen el directorio raíz de la unidad del sistema, que se vincula al Usersdirectorio físico en el directorio raíz del mismo volumen. Sin embargo, están ocultas de forma predeterminada y sus configuraciones de seguridad están configuradas de modo que el Explorador de Windows se negará a abrirlas desde dentro del Shell o en la mayoría de las aplicaciones, excepto para el usuario SYSTEM integrado local o el grupo de administradores locales (ambas cuentas de usuario son utilizadas por los instaladores de software del sistema). Esta restricción de seguridad adicional probablemente se haya realizado para evitar que los usuarios encuentren archivos duplicados aparentes en los directorios unidos y los eliminen por error, porque la semántica de las uniones de directorios no es la misma que para los vínculos físicos; el recuento de referencias no se utiliza en los contenidos de destino y ni siquiera en el contenedor referenciado en sí. [ cita requerida ]

Las uniones de directorios son enlaces suaves (persistirán incluso si se elimina el directorio de destino), que funcionan como una forma limitada de enlaces simbólicos (con una restricción adicional en la ubicación del destino), pero es una versión optimizada que permite un procesamiento más rápido del punto de análisis con el que se implementan, con menos sobrecarga que los enlaces simbólicos NTFS más nuevos, y se pueden resolver en el lado del servidor (cuando se encuentran en directorios compartidos remotos). [ cita requerida ]

Enlaces simbólicos

Los enlaces simbólicos (o enlaces suaves) se introdujeron en Windows Vista. [10] Los enlaces simbólicos se resuelven en el lado del cliente. Por lo tanto, cuando se comparte un enlace simbólico, el destino está sujeto a las restricciones de acceso del cliente y no del servidor. [ cita requerida ]

Los enlaces simbólicos se pueden crear a archivos (creados con MKLINK symLink targetFilename) o a directorios (creados con MKLINK /D symLinkD targetDirectory), pero (a diferencia de los enlaces simbólicos de Unix) la semántica del enlace debe proporcionarse con el enlace creado. Sin embargo, el destino no necesita existir o estar disponible cuando se crea el enlace simbólico: cuando se accede al enlace simbólico y se verifica la disponibilidad del destino, NTFS también verifica si tiene el tipo correcto (archivo o directorio); devolverá un error de no encontrado si el destino existente tiene el tipo incorrecto. [ cita requerida ]

También pueden hacer referencia a directorios compartidos en hosts remotos o a archivos y subdirectorios dentro de directorios compartidos: su destino no se monta inmediatamente en el arranque, sino solo temporalmente a pedido mientras se abren con la API OpenFile()o CreateFile(). Su definición es persistente en el volumen NTFS donde se crean (todos los tipos de enlaces simbólicos se pueden eliminar como si fueran archivos, utilizando DEL symLinkun símbolo del sistema o un lote). [ cita requerida ]

Los datos de enlace simbólico son similares a los datos de punto de montaje, en el sentido de que ambos utilizan una ruta de espacio de nombres NT. La diferencia es que los enlaces simbólicos aceptan rutas UNC , pero no montajes de Volume{guid}. [8]

Seguimiento de enlaces distribuidos (DLT)

El seguimiento de enlaces distribuidos permite a las aplicaciones rastrear archivos, accesos directos de shell o enlaces OLE incluso si se cambiaron de nombre o se movieron a otro volumen dentro de la misma máquina, dominio o grupo de trabajo. [11] El seguimiento se implementa como un servicio del sistema, que utiliza el índice de identificador de objeto (OID) almacenado en un metarchivo . [12] Cuando la aplicación solicita un seguimiento a un archivo o directorio, el servicio de seguimiento crea la entrada OID, que apunta al archivo, y la operación de cambio de nombre, copia o movimiento de archivo a un volumen NTFS v3 también copia el ID del objeto. Esto permite que el servicio de seguimiento encuentre eventualmente el archivo de destino.

Desduplicación de datos

Cuando hay varios directorios que tienen archivos diferentes pero similares, algunos de estos archivos pueden tener contenido idéntico. El almacenamiento de instancia única , que se encuentra en Windows Server 2000 a Windows Storage Server 2008, permite fusionar archivos idénticos en un solo archivo y crear referencias a ese archivo fusionado. SIS consta de un filtro de sistema de archivos que administra copias, modificaciones y fusiones a archivos; y un servicio de espacio de usuario (o groveler ) que busca archivos que son idénticos y necesitan ser fusionados. SIS fue diseñado principalmente para servidores de instalación remota, ya que estos pueden tener múltiples imágenes de instalación que contienen muchos archivos idénticos; SIS permite que estos se consoliden pero, a diferencia de, por ejemplo, los vínculos duros, cada archivo permanece distinto; los cambios en una copia de un archivo dejarán los demás inalterados. Esto es similar a la copia en escritura , que es una técnica por la cual la copia de memoria no se realiza realmente hasta que se modifica una copia. [13]

Desde Windows Server 2012, existe un nuevo mecanismo de deduplicación de datos basado en fragmentos (etiqueta 0x80000013) que permite deduplicar archivos con contenido similar siempre que tengan fragmentos de datos idénticos. [2] Este mecanismo es más potente que SIS. [14] Desde Windows Server 2019, la función es totalmente compatible con ReFS. [15]

Gestión de almacenamiento jerárquico (HSM)

La gestión de almacenamiento jerárquico es un medio para transferir archivos que no se utilizan durante un período de tiempo a medios de almacenamiento menos costosos. Cuando se accede al archivo la próxima vez, el punto de análisis de ese archivo determina que es necesario y lo recupera del almacenamiento. [ cita requerida ]

Almacenamiento estructurado nativo (NSS)

NSS era una tecnología de almacenamiento de documentos ActiveX que Microsoft ya no utiliza. [ cita requerida ] Permitía que los documentos ActiveX se almacenaran en el mismo formato multisecuencia que ActiveX utiliza internamente. Se cargaba un filtro de sistema de archivos NSS y se utilizaba para procesar las múltiples secuencias de forma transparente para la aplicación y, cuando el archivo se transfería a un volumen de disco con formato distinto a NTFS, también transfería las múltiples secuencias a una sola secuencia. [16]

Socket de dominio Unix (socket)

Con la versión 17063 de Windows 10 (versión de lanzamiento estable 1803), Microsoft introdujo los sockets de dominio Unix en Windows. Estos se implementan mediante el uso del controlador de kernel afunix.sys y un nuevo punto de análisis en el sistema de archivos. Los sockets de dominio Unix son comunes en los sistemas BSD y Linux y pueden considerarse el estándar para la comunicación entre procesos en estos sistemas; por lo tanto, su introducción en Windows permitirá la adopción simplificada de código y la portabilidad entre plataformas. [17]

Compresión del sistema

Windows 10 introduce algoritmos de compresión CompactOS de solo lectura para el sistema de archivos NTFS, tomados de Windows Imaging Format (WIM); están diseñados para comprimir archivos del sistema de Windows y reducir el uso del espacio en disco. [18]

Internamente, el archivo comprimido se registra como un punto de análisis con la etiqueta IO_REPARSE_TAG_WOF (0x80000017), donde WoF significa Windows Overlay Filter, [19] y los datos reales se almacenan en un flujo de datos alternativo llamado "WofCompressedData", que es procesado por el filtro del sistema de archivos WOF . [20] [21] [2]

CompactOS es una variante mejorada de WIMBoot de Windows 8.1 , donde los archivos del sistema se pueden almacenar en una imagen WIM comprimida en una partición de disco oculta , [22] y el controlador de filtro WOF descomprimiría el contenido del archivo de ese archivo WIM; el uso de flujos de datos alternativos en lugar de imágenes WIM de solo lectura permite a CompactOS volver a comprimir los archivos del sistema cuando necesitan ser reescritos con una versión actualizada. [23]

OneDrive

OneDrive etiqueta los archivos y directorios que ha descargado en el almacenamiento local como un punto de análisis con la etiqueta 0x9000001a. Los datos reales se almacenan normalmente. [2]

Riesgos conocidos

Stuxnet , como parte de su serie de exploits Win32, utiliza puntos de unión NTFS como parte de su modo general de operación. [ cita requerida ]

Véase también

Referencias

  1. ^ " Guía de estudio de configuración del cliente de Microsoft Windows Vista " Wiley Publishing, Inc. 2007 p.285
  2. ^ abcd André, Jean-Pierre (1 de marzo de 2019). "NTFS-3G: puntos de unión, enlaces simbólicos y puntos de análisis". jp-andre.pagesperso-orange.fr .
  3. ^ "Etiquetas de puntos de análisis repetido" . Consultado el 12 de diciembre de 2019 .
  4. ^ abc "Enlaces NTFS, uniones de directorios y accesos directos de Windows". www.flexhex.com .
  5. ^ "[MS-FSCC] Analizar etiquetas" . Consultado el 12 de diciembre de 2019 .
  6. ^ "Nombres de archivos, rutas y espacios de nombres/Espacios de nombres NT". Centro de desarrollo de Microsoft Windows . Consultado el 12 de diciembre de 2019 .
  7. ^ "winapi - ¿La cadena "SubstituteName" en PathBuffer de una estructura REPARSE_DATA_BUFFER siempre comienza con el prefijo "\??\", y si es así, ¿por qué?". Stack Overflow . Consultado el 4 de octubre de 2019 .
  8. ^ Mark Russinovich . "Dentro de Win2K NTFS, parte 1". Microsoft Developer Network . Consultado el 18 de abril de 2008 .
  9. ^ "Enlaces simbólicos (Windows)". MSDN.
  10. ^ "Seguimiento de enlaces distribuidos e identificadores de objetos".
  11. ^ "Cliente de seguimiento de enlaces distribuidos (servicios del sistema para la familia de sistemas operativos Windows Server 2003 y Windows XP)". Archivado desde el original el 7 de marzo de 2016. Consultado el 26 de agosto de 2017 .
  12. ^ Bolosky, Bill; Corbin, Scott; Goebel, David; Douceur, John (enero de 2000). Almacenamiento de instancia única en Windows 2000 (PDF) . Actas del 4º Simposio de sistemas Windows de USENIX. Seattle, Washington: Microsoft Research y Balder Technology Group.
  13. ^ FileCAB-Team (10 de abril de 2019). "Introducción a la deduplicación de datos en Windows Server 2012". Comunidad tecnológica de Microsoft .
  14. ^ "Interoperabilidad de deduplicación de datos". docs.microsoft.com .
  15. ^ Saville, John (fecha desconocida). ¿Qué es el almacenamiento estructurado nativo? Windows IT Pro. Recuperado de "¿Qué es el almacenamiento estructurado nativo?". Archivado desde el original el 27 de septiembre de 2007. Consultado el 3 de diciembre de 2007 ..
  16. ^ "AF_UNIX llega a Windows". Herramientas de línea de comandos de Windows para desarrolladores . Consultado el 25 de julio de 2024 .
  17. ^ "Sistema operativo compacto, instanciación única y optimización de imágenes". Microsoft . Consultado el 1 de octubre de 2019 .
  18. ^ "¿Qué es WofCompressedData? ¿Wof significa que Windows es un perro?". 18 de junio de 2019.
  19. ^ "Re: [ntfs-3g-devel] Soporte experimental para archivos "comprimidos del sistema" de Windows 10". sourceforge.net . Consultado el 1 de octubre de 2019 .
  20. ^ Biggers, Eric (29 de abril de 2019). «ntfs-3g-system-compression: complemento NTFS-3G para leer archivos «comprimidos por el sistema»». GitHub . Consultado el 1 de octubre de 2019 .
  21. ^ Descripción general del arranque mediante archivo de imagen de Windows (WIMBoot)
  22. ^ Raymond Chen.¿Qué es WofCompressedData? ¿Wof significa que Windows es un perro? Blogs de desarrollo de Microsoft.

Enlaces externos