stringtranslate.com

Punto de análisis 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, incluidos enlaces simbólicos NTFS , puntos de unión de directorios , puntos de montaje de volúmenes y sockets de dominio Unix . Además, los puntos de análisis se utilizan como marcadores de posición para archivos movidos por el Sistema de almacenamiento jerárquico de almacenamiento remoto de Windows 2000 . También pueden actuar como enlaces físicos [ cita necesaria ] , 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 forma de estructura C:

estructura REPARSE_BUFFER { uint32_t ReparseTag ; uint32_t ReparseDataLength ; uint16_t Reservado ; uint8_t Buffer de datos []; // miembro de matriz flexible }           

La etiqueta de análisis [3] es única para 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 requerir una letra de unidad separada (como o ) para cada uno.C:D:

Una vez que un volumen se ha montado encima de un directorio existente de otro volumen, el contenido previamente enumerado en ese directorio se vuelve invisible y se reemplaza por el contenido del directorio raíz del volumen montado. [ cita necesaria ] 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 volumen se pueden hacer para que sean persistentes (se remontan automáticamente después de reiniciar el sistema) o no persistentes (se deben remontar manualmente después de reiniciar). [ cita necesaria ]

Los volúmenes montados pueden utilizar otros sistemas de archivos además de NTFS, posiblemente con su propia configuración 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 la forma de espacio de nombres NT \??\DeviceName\. [6] [7] [4] Las uniones generalmente se usan \??\<drive>:\para referirse a un volumen con una letra de controlador existente, mientras que los puntos de montaje de volumen verdadero se usan \??\Volume{<guid>}para referirse a cualquier volumen. Las rutas UNC no son válidas para los cruces. [8]

Uniones de directorio

Las uniones de directorios se definen utilizando exactamente el mismo mecanismo (y la 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 típicos de Unix 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 D:\linkeddirse referirá automáticamente al directorio D:\linkeddircuando una aplicación en modo de usuario acceda a él. [9]

Las uniones de directorios (que pueden crearse con el comando MKLINK /J junctionName targetDirectoryy eliminarse 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 o dominio local en el que está montado el volumen principal y el mismo configuraciones de seguridad para su contenido como contenido del directorio de destino; sin embargo, el cruce en sí puede tener distintas configuraciones de seguridad. Desvincular una unión de directorios no elimina archivos en el 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 ocultos de forma predeterminada y su configuración de seguridad está configurada para que el Explorador de Windows se niegue a abrirlos desde el Shell o en la mayoría de las aplicaciones, excepto para el usuario local integrado del SISTEMA o el grupo de Administradores locales (ambos usuarios). Las cuentas son utilizadas por los instaladores de software del sistema). Esta restricción de seguridad adicional probablemente se haya hecho para evitar que los usuarios encuentren archivos aparentemente duplicados 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 enlaces físicos; el recuento de referencias no se utiliza en el contenido de destino y ni siquiera en el propio contenedor al que se hace referencia. [ cita necesaria ]

Las uniones de directorios son enlaces suaves (persistirán incluso si se elimina el directorio de destino), y 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 de los enlaces. 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 necesaria ]

Enlaces simbólicos

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

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, no es necesario que el destino exista o esté disponible cuando se crea el enlace simbólico: cuando se acceda al enlace simbólico y se verifique la disponibilidad del destino, NTFS también verificará si tiene el tipo correcto (archivo o directorio); devolverá un error de no encontrado si el objetivo existente tiene el tipo incorrecto. [ cita necesaria ]

También pueden hacer referencia a directorios compartidos en hosts remotos o 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, utilizándolos DEL symLinkdesde una línea de comandos o por lotes). [ cita necesaria ]

Los datos del enlace simbólico son similares a los datos del 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 Volumen{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 les cambió el 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 de 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 archivos a un volumen NTFS v3 también copia el ID del objeto. Esto permite que el servicio de seguimiento finalmente encuentre el archivo de destino.

Deduplicació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 hasta Windows Storage Server 2008, permite fusionar archivos idénticos en un solo archivo y crear referencias a ese archivo combinado. SIS consta de un filtro del sistema de archivos que gestiona copias, modificaciones y fusiones de archivos; y un servicio de espacio de usuario (o groveler ) que busca archivos que son idénticos y necesitan fusionarse. 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 consolidarlos pero, a diferencia de, por ejemplo, los enlaces físicos, cada archivo sigue siendo distinto; Los cambios en una copia de un archivo dejarán las demás sin modificaciones. Esto es similar a copiar en escritura , que es una técnica mediante 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 tramos de datos idénticos. [2] Este mecanismo es más poderoso que el 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. La próxima vez que se acceda al archivo, el punto de análisis de ese archivo determina que es necesario y lo recupera del almacenamiento. [ cita necesaria ]

Almacenamiento estructurado nativo (NSS)

NSS era una tecnología de almacenamiento de documentos ActiveX que desde entonces Microsoft ha descontinuado. [ cita necesaria ] Permitió que los documentos ActiveX se almacenaran en el mismo formato de transmisión múltiple que ActiveX usa internamente. Se cargó y utilizó un filtro del sistema de archivos NSS para procesar las múltiples transmisiones de forma transparente para la aplicación, y cuando el archivo se transfirió a un volumen de disco sin formato NTFS, también transfirió las múltiples transmisiones en una sola secuencia. [16]

Socket de dominio Unix (socket)

Con Windows 10 build 17063 (para la versión estable 1803), Microsoft introdujo sockets de dominio Unix en Windows. Esto se logra utilizando el controlador del 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 verse como el estándar para la comunicación entre procesos en estos sistemas; por lo tanto, su introducción a Windows permitirá una adopción simplificada de código y portabilidad multiplataforma. [17]

Compresión del sistema

Windows 10 introduce algoritmos de compresión CompactOS de solo lectura para el sistema de archivos NTFS, tomados del formato de imagen de Windows (WIM); están diseñados para comprimir archivos del sistema de Windows y reducir el uso de 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 Filtro de superposición de Windows, [19] y los datos reales se almacenan en un flujo de datos alternativo denominado "WofCompressedData", que es procesado por WOF. filtro del sistema de archivos . [20] [21] [2]

CompactOS es una variante mejorada de WIMBoot de Windows 8.1 , donde los archivos del sistema podrían almacenarse 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 recomprimir archivos del sistema cuando es necesario reescribirlos 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 necesaria ]

Ver 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" . 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. ^ "Nombrar 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é?". Desbordamiento de pila . Consultado el 4 de octubre de 2019 .
  8. ^ Mark Russinovich . "Dentro de Win2K NTFS, parte 1". Red de desarrolladores de Microsoft . 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 Windows Server 2003 y sistemas operativos 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: Grupo de investigación de Microsoft y tecnología Balder.
  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 TI profesional. Obtenido 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. ^ "SO compacto, instancia ú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". fuenteforge.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 del 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