Che tipo di metadati contiene effettivamente un file? [chiuso]

2

Che tipo di metadati contiene effettivamente un file? Mi rendo conto che questo varia a seconda del tipo di formato, ma in particolare sto parlando dei metadati universali per tutti i file su un filesystem UNIX. Quindi userò testo in chiaro come esempio, dato che non sono a conoscenza di metadati specifici di file che sarebbero in un file di testo in chiaro.

Se ho un file di testo in chiaro e lo trasferisco su un altro computer tramite un'unità flash, l'inode per il file viene copiato? So che puoi ottenere le cose dall'inode come l'ultima modifica, i permessi, ecc. Ma ci sono tipi di metadati separati dall'inode? È possibile capire qualcosa sul computer da cui proviene?

Che dire nel caso di un file immagine?

    
posta James C. 11.11.2017 - 02:51
fonte

3 risposte

5

I will use plaintext as an example...

Un file di testo semplice non contiene alcun metadati, cioè è solo un flusso ottetto senza struttura. L'unica cosa che si trova su questo flusso di ottetti è la sua dimensione. Ma, se memorizzato su un file system UNIX, ci sono diversi metadati associati con questo flusso di ottetti, come il nome del file, il tempo di modifica, il proprietario, il gruppo, le autorizzazioni, forse ACL ecc.

... I transfer it to another computer via a flash drive, is the inode for the file copied?

L'inode stesso è specifico dell'istanza del file system sottostante. Non verrà copiato sull'unità flash. Ma alcune delle informazioni contenute nell'inode potrebbero essere, come il tempo di modifica. Ma i dettagli dipendono dalle capacità del file system sottostante dell'obiettivo, cioè diversi sistemi di file supportano diversi tipi di informazioni nell'inode (o strutture di dati simili). Ad esempio, un file system FAT (V) che di solito viene utilizzato per le unità flash non supporta le autorizzazioni dei file UNIX. Dipende anche dal modo in cui è stata eseguita la copia, cioè semplicemente chiamando cp non copierà il tempo di modifica ma lo imposterà sull'ora corrente nella destinazione. E anche se il sistema di destinazione supporta le autorizzazioni e il proprietario dei file UNIX, il proprietario originale non può essere copiato a meno che l'utente che esegue la copia disponga delle autorizzazioni per impostare il proprietario (vale a dire la radice).

... But are there any types of metadata separate from the inode?

Il nome file e la directory non sono contenuti nell'inode. In UNIX potresti persino avere nomi di file diversi o alcuni nomi di file all'interno di diverse directory puntano allo stesso inode, il che significa essenzialmente che alcuni stessi dati possono essere accessibili da un percorso diverso.

What about in the case of an image file?

Ci sono una varietà di formati di file per immagini con capacità diverse. Ad esempio, i file JPEG possono contenere blocchi EXIF, IPTC o XMP che sono contenuti per una varietà di metadati, come il tempo di creazione della foto, la fotocamera utilizzata, la posizione in cui è stata scattata la foto, le informazioni sul copyright e molto altro ancora. Poiché queste informazioni sono contenute nel flusso ottetto del file immagine, anche queste saranno copiate in modo implicito quando il file viene copiato.

    
risposta data 11.11.2017 - 09:17
fonte
1

Solo un complemento alla risposta dettagliata di Steffen. Un file normalmente non è altro che una sequenza di byte e potrebbe contenere i propri metadati. I metadati BUT sono anche contenuti nel file system. Ad esempio nei filesystem Unix, il nome è contenuto nella directory e le dimensioni, l'ultima lettura, il tempo di accesso in scrittura, il proprietario, ecc. Sono contenuti nell'inode. In tal caso, quando copi il file, solo i dati sono copiati e non i metadati, anche se puoi chiedere al sistema di copiare i tempi e gli id del proprietario e del gruppo.

Ma Windows NTFS è molto più ricco. Qualsiasi file è composto da flussi di dati . Il principale (l'unico a cui si accede normalmente) contiene i dati del file, ma è possibile aggiungere tutti i flussi che si desidera memorizzare metadati arbitrari (o dati nascosti). Non saranno accessibili tramite normali accessi, ma posso confermare che sono trasportati da (alcuni) strumenti Microsoft come la riga di comando copy quando il file viene copiato su un altro disco NTFS - semplicemente vengono scartati quando si utilizza un altro file system, caricali in un'e-mail o tramite qualsiasi protocollo di rete, perché qui interessa solo il flusso di dati principale.

In tal caso, un semplice file di testo potrebbe trasportare metadati arbitrari. Esempio:

> 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
    
risposta data 14.11.2017 - 09:00
fonte
0

Penso che questa domanda dovrebbe essere spostata nella sezione di errore del server. Questo non ha nulla a che fare con la sicurezza delle informazioni.

Stai mescolando il file system e il formato del file. Il file system di solito gestisce l'accesso ai file, non ha nulla a che fare con il contenuto. Mentre il formato del file definisce come i contenuti possono essere interpretati / analizzati dal programma che lo legge.

Universalmente parlando, un meta file si riferisce sempre al formato del file. Per identificare rapidamente un file, viene emesso lo standard per assegnare una "firma" specifica a un file. Puoi leggere wikipedia firma del file per saperne di più.

Apparentemente, la domanda riguarda il trasferimento di file tra file system. In effetti, il diritto di accesso al file system è rimasto con la memoria assegnata del file system, non può attraversare il confine.

  1. Quando il trasferimento di file da un sistema Unix a un altro sistema unix, il file seguirà l'accesso di scrittura di accesso al file system di destinazione con l'accesso dell'utente. Se

  2. Se capita di estrarre l'intero disco rigido di Linux e montarlo da un altro sistema operativo senza crittografia, il sistema operativo host è effettivamente in grado di accedere a tutto con pochi problemi, indipendentemente dai vincoli di diritti di accesso dei diritti dei file assegnati in il disco rigido montato.

risposta data 14.11.2017 - 14:13
fonte

Leggi altre domande sui tag