Mayo 25, 2019, 03:42:20 pm

Noticias:

Para hacer tu consulta: debes registrarte y hacer un nuevo tema en la sección que consideres más adecuada. Ver: Acerca de este Foro.


Buscar en el Foro: 

Recientes

EL SISTEMA NTFS

Iniciado por Mel, Junio 01, 2005, 09:30:51 pm

Tema anterior - Siguiente tema

Mel

Me preguntaba que tanto de cierto es lo que dicen del sistema de archivos NTFS, sera tan real la supuesta rubustez y seguridad.

Veamos algunas situaciones interesantes que suceden con los sistemas NT
y otros sistemas conocidos(digamos FAT).

 :arrow: Es seguro el NTFS porque nadie conoce como funciona internamente :?:

 :arrow: Se dijo que no se podia acceder desde otro sistema de archivos, y al poco aparecio el NTFSDOS, para MS DOS, que permitia el acceso para lectura a particiones NTFS que fueran de un tama¤o no superior a 2 GBytes. Y como eso es poco, pues aparecio el patch para GNU/Linux que permitia superar esa barrera de los 2 GBytes al acceder a particiones NTFS. NTFSDOS permite escribir o alterar archivos, pero tienes que pagar.

 :arrow: Aprovechamiento del espacio. Un sistema de archivos que funcione bajo Windows reparte el espacio del disco en unidades minimas denominadas clusters. NTFS usa 64 bits para el direccionamiento de los clusters, lo que nos deja como resultado que con clusters de 512 bytes tiene de sobra en muchas situaciones.

 :arrow: seguridad, NTFS usa el mismo sistema de seguridad del propio NT, usando las DACL (Discretionary Access Control Lists) y las SACL (System Access Control Lists), con lo que en todo momento el sistema sabe quien accede a que, cuando y que es lo que hace.

 :arrow:  el juego de caracteres permitidos para nombrar los ficheros dentro del sistema,  en NTFS disponemos del sistema Unicode de 16 bits, lo que deja una posibilidad bastante amplia si lo comparamos con los 8 bits del codigo ASCII que usa el sistema FAT.

 :arrow: tolerante a fallos, NTFS usa un fichero de logs(fichero de logs de transacciones o Transactional Logging File) en el que se van introduciendo las modificaciones sobre el sistema de archivos, por lo que en caso de que el sistema se cierre inesperadamente, se podra recuperar el estado anterior sin ningun problema. El propio NT mira en el fichero de logs para ver cual era la situacion y la reestablece automaticamente en el siguiente arranque del sistema. Para no perder nuestros datos.


 :arrow: No se puede formatear un diskette con NTFS, el SO no lo permite seguramente Micro$oft quiere que pagemos por el servicio.

 :arrow: NTFS gestiona todo el sistema de archivos en base a archivos de datos. Son los denominados Ficheros METADATA, en realidad son 11 y estan en formato oculto, pero visualizarlo basta con ir al interprete de comandos y teclear el la siguiete linea,
                           dir /ah
Los metafiles creados son estos
----------------------------------------------------------------------------------
  | $MFT         |     0    | Master File Table. O como la FAT para NTFS. |

  | $MFTMIRR |     1    | Copia de los 16 primeros registros de la MFT. |

  | $LOGFILE |     2    | El fichero de logs de transacciones. |

  | $VOLUME  |     3    | Numero de serie, fecha de creacion y dirty flag del volumen. |

  | $ATTRDEF |     4    | Definicion de los atributos. |

  | .        |     5    | Directorio raiz del disco. |

  | $BITMAP  |     6    | Mapa de clusters libres. |

  | $BOOT    |     7    | Registro de arranque del disco. |

  | $BADCLUS |     8    | Lista de los clusters erroneos del disco. |

  | $QUOTA   |     9    | Informacion acerca de las cuotas de usuario. |

  | $UPCASE  |    10    | Convierte minusculas en mayusculas. |
----------------------------------------------------------------------------------
Estan bastante claro cada fichero.  Ya que el fichero $MFT es muy importante deberiamos estudiarlo un poco más.

EL FICHERO $MFT: veremos que hay diferencias sustanciales entre la FAT y el $MFT. De primeras, el $MFT se divide en pequeñas unidades logicas denomindas registros. En estos registros, NTFS almacena los metadatos correspondientes a los directorios y/o ficheros y sus caracteristicas.

El $MFT no es un fichero aparte, como se podria considerar a la FAT. El $MFT es un fichero que se mapea en NTFS a traves del $MFT, o lo que es lo mismo, que se ubica a si mismo. Con esto ademas obtenemos un factor importante... que el tama¤o del $MFT puede variar en funcion de la cantidad de metadatos existentes.

   Si el fichero $MFT se encuentra fragmentado, NTFS debera realizar multitud de operaciones para leer un registro, lo que ralentizara el sistema. Para evitar que el $MFT se fragmente, al menos no demasiado, NTFS reserva una zona rodeando al $MFT denominada ZONA MFT, que facilita el uso de clusters contiguos a la hora de ampliar el tama¤o del $MFT. Esta zona habitualmente se corresponde con el 12% del tama¤o del disco duro añadido despues el $MFT. Es decir, que si el $MFT ocupa los primeros 15 megas de un disco de 4 gigas, se reservan unos 4 megas mas, ocupando asi los 19 primeros megas para el $MFT.

   NTFS reconoce los ficheros y directorios por su posicion en el $MFT del
registro que describe sus metadatas. Asi, para los METADATA FILES, se han reservado los registros que se indicaban en la anterior tabla.

   El fichero $MFTMIRR es algo asi como la segunda copia de la FAT. Pero el $MFTMIRR en vez de ir a continuacion del $MFT, se coloca justo en el medio de la particion, y solo almacena los 16 primeros registros del $MFT, es decir, los METADATA FILES y 5 registros mas.

LOS REGISTROS: Un registro del $MFT consiste de una pequeña cabecera que contiene informacion basica sobre el registro, seguido de uno o mas atributos que describen los datos o caracteristicas del fichero o directorio. Para ser mas expresivo aqui va un esquema:

         .-------------------------------------------------------------------.
         | Cabecera | Atributos de la cabecera | Espacio libre |
         `------------------------------------------------------------------'

Los datos de la cabecera incluyen numeros de secuencia para verificar la integridad, un puntero al primer atributo en el registro y el numero de registro $MFT del registro $MFT de base si es que este no es el primero.

En NTFS se usan los atributos para indicar informacion acerca de los ficheros o directorios, Existen 14 tipos de atributos basicos, que son los que vemos a continuacion:


 .-------------------------------------------------------------------------.
 | Atributo                       | Descripcion                                     |
 |------------------------------------------------------------------------|

 | $VOLUME_VERSION       | Pues eso, la version del volumen.               |

 | $VOLUME_NAME          | El nombre del volumen.                |

 | $VOLUME_INFORMATION   | Version de NTFS y dirty flag.                    |

 | $FILE_NAME            | el nombre del fichero o directorio.                  |

 | $STANDARD_INFORMATION | Fecha, y atributos de oculto, sistema y lectura |

 | $SECURITY_DESCRIPTOR  | Informacion sobre la seguridad.                 |

 | $DATA                 | Los datos del fichero.                          |

 | $INDEX_ROOT           | Contenido del directorio.                       |

 | $INDEX_ALLOCATION     | Pues casi lo mismo que $INDEX_ROOT, dicen.      |

 | $BITMAP               | Mapeado del contenido del directorio.           |

 | $ATRIBUTE_LIST        | Cabeceras no residentes de atributos.           |

 | $SYMBOLIC_LINK        | No usado.  |

 | $EA_INFORMATION       | Extension de atributos compatibles con OS/2     |

 | $EA                   | Extension de atributos compatibles con OS/2     |

 `-------------------------------------------------------------------------'

Los atributos se almacenan en disco en dos componentes logicos: la cabecera y los datos.

   En la cabecera va el tipo de atributo, su nombre y sus flags, ademas de identificar la ubicacion de los datos del atributo. En NTFS se intenta que los datos de los atributos se almacenen tambien en los registros del $MFT.
Asi, se dice que un atributo es residente cuando tiene los datos en su registro $MFT. Por lo general, los atributos de nombre de fichero, informacion estandar y seguridad son siempre residentes.

   Cuando los atributos no entran en el registro $MFT correspondiente, la cabecera de atributos incluye informacion que localiza los datos en el disco. Esta funcion de mapeo de informacion es conocida como run-information.

   El run-information posee a su vez una cabecera que indica que clusters de los datos son usados por el run-information. Esto se debe a que existen atributos con datos muy grandes que deben ser repartidos en varios registros $MFT.

   Cada parte del run-information cubre diferentes partes de un fichero. Una entrada del run contiene un VCN (Vitual Cluster Number, numero de cluster virtual). El VCN es un desplazamiento relativo desde los datos de atributo.

A esto le sigue un LCN (Logical Cluster Number, numero de cluster logico), que indica la posicion en el disco donde residen los datos, y el numero de clusters contiguos en esa posicion.

Si hay muchos atributos para un fichero, pues nada mas simple que incluirlos en otro registro y apuntar a este ultimo desde el primero. Y esto es lo que hace NTFS.

DIRECTORIOS: Un directorio para NTFS no es mas que un fichero con el atributo de indice. El directorio contiene el nombre de cada fichero y una copia de su informacion estandar, concretamente de la fecha de creacion o ultima modificacion.

   Si los datos de un directorio entran en un registro $MFT, el atributo $INDEX_ROOT describe la posicion de las entradas en el registro. Al crecer el directorio, es probable sobrepasar el limite de tamaño del registro $MFT, para lo que se determinan buffers en los que se almacenan las entradas adicionales. Aqui el $INDEX_ALLOCATION indica cual es la posicion de este buffer.

   NTFS ordena el directorio dentro del $INDEX_ROOT y el $INDEX_ALLOCATION para hacer lo mas eficiente posible las busquedas dentro de los directorios.


 :arrow: que les parece NTFS, espero que esta infomacion les sirva, por cierto la tome de un articulo que encontre en la la seccion de documentos de la pagina  http://elhacker.net, me parecio interesante y quise compartirlo.

  :shock: ::.SALUDOS.::  :shock:
Para seguir la trayectoria:
mira al maestro,
sigue al maestro, camina junto con el maestro, mira a través del maestro, conviértete en el maestro.


FSR

Buena la información Mel. Respeto a por qué no se puede formatear un Diskette con NTFS, me imagino que se debe a que ya el tipo de FAT16 te deja las unidades de asignación a 512 bytes, además de los inconvenientes a la hora de activar permisos en el Diskette, permisos inamovibles si trataras de ver un Diskette en otro PC cuya sesión autorizada en el Diskette no existiera.

Saludos ;-)
Jesús, maestro y salvador


Redes Sociales

Buscar en el Foro: