¿Qué tipo de metadatos contiene realmente un archivo? [cerrado]

2

¿Qué tipo de metadatos contiene realmente un archivo? Me doy cuenta de que esto varía según el tipo de formato, pero me refiero específicamente a los metadatos universales para todos los archivos en un sistema de archivos UNIX. Por lo tanto, usaré texto plano como ejemplo, ya que no conozco ningún metadato específico del archivo que se encuentre en un archivo de texto simple.

Si tengo un archivo de texto sin formato y lo transfiero a otra computadora a través de una unidad flash, ¿se copia el inodo del archivo? Sé que puedes obtener cosas del inodo como la última hora de modificación, permisos, etc. ¿Pero hay algún tipo de metadatos aparte del inodo? ¿Es posible averiguar algo sobre la computadora de la que vino?

¿Qué pasa en el caso de un archivo de imagen?

    
pregunta James C. 11.11.2017 - 02:51
fuente

3 respuestas

5
  

Usaré texto plano como ejemplo ...

Un archivo de texto plano no contiene ningún metadato, es decir, es solo una secuencia de octetos sin estructura. Lo único meta en este flujo de octetos es su tamaño. Pero, si se almacena en un sistema de archivos UNIX, hay varios metadatos asociados con este flujo de octetos, como el nombre del archivo, la hora de modificación, el propietario, el grupo, los permisos, tal vez las ACL, etc.

  

... lo transfiero a otra computadora a través de una unidad flash, ¿se ha copiado el inodo del archivo?

El inodo en sí es específico de la instancia del sistema de archivos subyacente. No se copiará a la unidad flash. Pero parte de la información contenida en el inodo puede ser, como la hora de modificación. Pero los detalles dependen de las capacidades del sistema de archivos subyacente del objetivo, es decir, diferentes sistemas de archivos admiten diferentes tipos de información en el inodo (o estructuras de datos similares). Por ejemplo, un sistema de archivos FAT (V) que se usa generalmente en unidades flash no admite permisos de archivos UNIX. También depende de la forma en que se realizó la copia, es decir, simplemente llamando a cp no se copiará la hora de modificación, sino que se configurará a la hora actual en el destino. E incluso si el sistema de destino es compatible con los permisos de archivos de UNIX y el propietario, el propietario original no se puede copiar a menos que el usuario que realiza la copia tenga los permisos para establecer el propietario (es decir, es raíz).

  

... ¿Pero hay algún tipo de metadatos separados del inodo?

El nombre del archivo y el directorio no están contenidos en el inodo. En UNIX, incluso podría tener diferentes nombres de archivo o algunos nombres de archivo dentro de diferentes directorios apuntan al mismo inodo, lo que esencialmente significa que se puede acceder a algunos datos desde una ruta diferente.

  

¿Qué pasa en el caso de un archivo de imagen?

Hay una variedad de formatos de archivo para imágenes con diferentes capacidades. Por ejemplo, los archivos JPEG pueden contener bloques EXIF, IPTC o XMP que se contienen para una variedad de metadatos, como el tiempo de creación de la foto, la cámara utilizada, la ubicación donde se tomó la foto, la información de copyright y mucho más. Como esta información está contenida en el flujo de octetos del archivo de imagen, también se copiarán implícitamente cuando se copie el archivo.

    
respondido por el Steffen Ullrich 11.11.2017 - 09:17
fuente
1

Solo un complemento a la detallada respuesta de @ Steffen. Un archivo normalmente no es más que una secuencia de bytes y puede contener sus propios metadatos. PERO los metadatos también están contenidos en el sistema de archivos. Por ejemplo, en los sistemas de archivos Unix, el nombre está contenido en el directorio y el tamaño, la última lectura y el tiempo de acceso de escritura, el propietario, etc., están contenidos en el inodo. En ese caso, cuando copia el archivo, solo se copian los datos y no los metadatos, incluso si puede solicitar al sistema que copie los tiempos y las identificaciones de propietario y grupo.

Pero Windows NTFS es mucho más rico. Cualquier archivo se compone de secuencias de datos . La principal (la única a la que normalmente accede) contiene los datos del archivo, pero puede agregar tantas secuencias como desee para almacenar metadatos arbitrarios (o datos ocultos). Los accesos normales no podrán acceder a ellos, pero puedo confirmar que son transportados por (algunas) herramientas de Microsoft como la línea de comando copy cuando el archivo se copia a otro disco NTFS, simplemente se descartan cuando se usa otro sistema de archivos. cárguelos en un correo electrónico o a través de cualquier protocolo de red, porque aquí solo se refiere a la transmisión de datos principal.

En ese caso, un simple archivo de texto podría transportar metadatos arbitrarios. Ejemplo:

> echo foo > bar.txt
> echo bad > bar.txt:mood
> copy bar.txt bar2.txt
> type bar.txt
foo
> type bar2.txt
foo
> more < bar2.txt:mood
bad
    
respondido por el Serge Ballesta 14.11.2017 - 09:00
fuente
0

Creo que esta pregunta debería moverse a la sección de fallas del servidor. Esto no tiene nada que ver con la seguridad de la información.

Estás mezclando el sistema de archivos y el formato de archivo. El sistema de archivos normalmente se ocupa del acceso a los archivos, no tiene nada que ver con el contenido. Mientras que el formato del archivo define cómo los contenidos pueden ser interpretados / analizados por un programa que lo lea.

En términos universales, un meta de archivo siempre se refiere al formato de archivo. Para identificar rápidamente un archivo, se establece un estándar para asignar una "firma" específica a un archivo. Puede consultar la entrada de wikipedia firma de archivo para obtener información sobre esto.

Aparentemente, la pregunta es sobre la transferencia de archivos entre sistemas de archivos. De hecho, el derecho de acceso al sistema de archivos se mantuvo con el almacenamiento asignado del sistema de archivos, no puede cruzar la frontera.

  1. Cuando se transfiera un archivo de un sistema Unix a otro sistema Unix, el archivo seguirá la asignación de escritura del acceso al sistema de archivos de destino con el acceso del usuario. Si

  2. Si, por casualidad, saca todo el disco duro de Linux y lo monta desde otro sistema operativo sin cifrado, el sistema operativo host puede acceder a todo sin problemas, independientemente de las restricciones de derechos de acceso de los archivos asignados en El disco duro montado.

respondido por el mootmoot 14.11.2017 - 14:13
fuente

Lea otras preguntas en las etiquetas