Attributo file - File attribute
Gli attributi dei file sono un tipo di metadati che descrivono e possono modificare il comportamento dei file e/o delle directory in un filesystem . Gli attributi di file tipici possono, ad esempio, indicare o specificare se un file è visibile, modificabile, compresso o crittografato. La disponibilità della maggior parte degli attributi dei file dipende dal supporto del filesystem sottostante (come FAT , NTFS , ext4 ) dove i dati degli attributi devono essere archiviati insieme ad altre strutture di controllo. Ogni attributo può avere uno dei due stati: impostato e cancellato. Gli attributi sono considerati distinti da altri metadati, come date e ore, estensioni di nomi di file o autorizzazioni del file system . Oltre a file, cartelle , volumi e altri oggetti del file system possono avere attributi.
DOS e Windows
Tradizionalmente, in DOS e Microsoft Windows , file e cartelle accettavano quattro attributi:
- Archivio (A): se impostato, indica che il file di hosting è cambiato dall'ultimaoperazione di backup . Il file system di Windows imposta questo attributo su qualsiasi file che è stato modificato. Il software di backup ha quindi il compito di cancellarlo dopo un backup completo o incrementale riuscito (non differenziale).
-
Nascosto (H): quando impostato, indica che il file di hosting è nascosto. I comandi MS-DOS come
dire le app di Windows come Esplora file non mostrano i file nascosti per impostazione predefinita, a meno che non venga richiesto di farlo. -
Sistema (S): quando impostato, indica che il file di hosting è un file di sistema critico necessario per il corretto funzionamento del computer. MS-DOS e Microsoft Windows lo utilizzano per contrassegnare file di sistema importanti. I comandi MS-DOS come
dire le app di Windows come Esplora file non mostrano i file di sistema per impostazione predefinita anche quando vengono mostrati i file nascosti, a meno che non venga richiesto di farlo. - Sola lettura (R): quando impostato, indica che un file non deve essere modificato. All'apertura del file, l' API del file system in genere non concede il permesso di scrittura all'applicazione richiedente, a meno che l'applicazione non lo richieda esplicitamente. Gli attributi di sola lettura sulle cartelle vengono generalmente ignorati, poiché vengono utilizzati per un altro scopo.
Con l'uscita delle nuove versioni di Windows, Microsoft ha aggiunto all'inventario degli attributi disponibili sul file system NTFS , inclusi ma non limitati a:
- Compresso (C): quando impostato, Windows comprime il file di hosting al momento dell'archiviazione. Per ulteriori informazioni, vedere NTFS § Compressione file .
- Crittografato (E): quando impostato, Windows crittografa il file di hosting durante l'archiviazione per impedire l'accesso non autorizzato. Per ulteriori informazioni, vedere Crittografia § NTFS .
- Non indicizzato per contenuto (I): se impostato, il servizio di indicizzazione o la ricerca di Windows non includono il file di hosting nell'operazione di indicizzazione.
Altri attributi visualizzati nella colonna "Attributi" di Windows Explorer includono:
- Directory (D): la voce è una sottodirectory , contenente voci di file e directory proprie.
- Punto di analisi (L): il file o la directory ha un punto di analisi associato o è un collegamento simbolico .
- Offline (O): i dati del file vengono spostati fisicamente nell'archiviazione offline (Archiviazione remota).
- Sparse (P): il file è un file sparse , cioè il suo contenuto è parzialmente vuoto e non contiguo.
- Temporaneo (T): il file viene utilizzato per l'archiviazione temporanea.
In DOS, OS/2 e Windows, il attribcomando in cmd.exe e command.com può essere utilizzato per modificare e visualizzare i quattro attributi di file tradizionali. File Explorer in Windows può mostrare i sette attributi menzionati ma non può impostare o cancellare l'attributo di sistema. Windows PowerShell , che è diventato un componente di Windows 7 e versioni successive, presenta due comandi in grado di leggere e scrivere attributi: Get-ItemPropertye Set-ItemProperty. Per modificare un attributo su un file su Windows NT , l'utente deve disporre delle autorizzazioni appropriate per il file system note come Write Attributes e Write Extended Attributes .
Unix e POSIX
Nei sistemi Unix e simili a Unix, inclusi i sistemi conformi a POSIX , ogni file ha una "modalità" contenente flag a 9 bit che controllano i permessi di lettura, scrittura ed esecuzione per ogni proprietario del file, gruppo e tutti gli altri utenti (vedi Permessi del file system §Autorizzazioni Unix tradizionali per maggiori dettagli) più i flag di bit setuid e setgid e un flag di bit 'sticky' . La modalità specifica anche il tipo di file (file normale, directory o qualche altro tipo speciale).
4.4BSD e derivati
In 4.4BSD e 4.4BSD-Lite , i file e le directory (cartelle) accettavano quattro attributi che potevano essere impostati dal proprietario del file o dal superutente (gli attributi "Utente") e due attributi che potevano essere impostati solo dal superutente ( gli attributi "Sistema":
- (Utente) No-dump : se impostato, indica che il file o la directory non devono essere salvati durante un'operazione di backup .
- (Utente e Sistema) Immutabile : se impostato, indica che il file o la directory non devono essere modificati. I tentativi di aprire il file per la scrittura, creare un file all'interno della directory, rimuovere un file dalla directory, rinominare un file all'interno della directory, rinominare il file o la directory o rimuovere il file o la directory falliranno con un errore di autorizzazione.
- (Utente e Sistema) Solo accodamento : quando impostato, indica che il file deve essere solo aggiunto.
- (Utente) Opaco : se impostato su una directory, indica che la directory è opaca se visualizzata tramite uno stack di unione .
FreeBSD ha aggiunto alcuni attributi aggiuntivi, supportati anche da DragonFly BSD :
- (Utente e sistema) No-unlink : quando impostato, indica che il file o la directory non devono essere rinominati o rimossi. I tentativi di rinominare o rimuovere il file o la directory falliranno con un errore di autorizzazione.
FreeBSD supporta anche:
- (Sistema) No-archive : se impostato, indica che il file o la directory non devono essere archiviati.
- (Sistema) Snapshot : quando impostato, indica che il file o la directory è un file snapshot. Questo attributo è gestito dal sistema e non può essere impostato, nemmeno dal superutente.
mentre DragonFly BSD supporta:
- (Utente e sistema) No-history : se impostato, indica che la cronologia non deve essere conservata per il file o la directory.
- (Utente) Swapcache : se impostato, indica che i dati del filesystem puliti per il file, o per la directory e tutto ciò che si trova al di sotto della directory, devono essere memorizzati nella cache nello spazio di scambio su un'unità a stato solido .
- (Sistema) Swapcache : se impostato, indica che i dati del filesystem puliti per il file, o per la directory e tutto ciò che si trova al di sotto della directory, non devono essere memorizzati nella cache nello spazio di scambio su un'unità a stato solido.
- (Sistema) Archiviato : se impostato, indica che il file o la directory possono essere archiviati.
NetBSD ha aggiunto un altro attributo, supportato anche da OpenBSD :
- (Sistema) Archiviato : se impostato, indica che il file o la directory è archiviata.
macOS ha aggiunto tre attributi:
- (Utente) Nascosto : quando impostato, indica che il file o la directory non devono, per impostazione predefinita, essere visualizzati nella GUI; ls lo visualizzerà, comunque.
- (Sistema) Restricted : quando impostato, indica che il file o la directory saranno protetti da System Integrity Protection
- (Utente e di sistema) compressa : attributo di sola lettura per i file compressi utilizzando HFS + Compression
In questi sistemi, i comandi chflagse lspossono essere utilizzati per modificare e visualizzare gli attributi dei file. Per modificare un attributo "utente" su un file nei sistemi operativi derivati da 4.4BSD, l'utente deve essere il proprietario del file o il superutente; per modificare un attributo "sistema", l'utente deve essere il superutente.
Linux
Il sistema operativo Linux può supportare un'ampia gamma di attributi di file che possono essere elencati dal lsattrcomando e modificati, ove possibile, dal chattrcomando. I programmi possono esaminare e modificare gli attributi utilizzando operazioni ioctl .
Molti file system Linux supportano solo un insieme limitato di attributi e nessuno di essi supporta tutti gli attributi che chattrpossono cambiare. I file system che supportano almeno alcuni attributi includono ext4 , XFS e btrfs .
| Attributo | bandiera lsattr | opzione chattr | Semantica e razionale |
|---|---|---|---|
Nessun atimeaggiornamento
|
A
|
+A,-A
|
atime record non viene modificato quando il file viene letto/acceso. |
| Solo aggiunta |
a
|
+a,-a
|
Scrittura su file consentita solo in modalità di aggiunta. |
| Immutabile |
i
|
+i,-i
|
Impedisce qualsiasi modifica ai contenuti o ai metadati del file: file/directory non possono essere scritti, eliminati, rinominati o collegati. |
| nessuna discarica |
d
|
+d,-d
|
Il file viene saltato dal programma di dump |
| Cancellazione sicura |
s
|
+s,-s
|
Richiede che, una volta cancellati, tutti i blocchi di dati del file vengano riempiti con zeri . |
| Aggiornamenti sincroni |
S
|
+S,-S
|
Le modifiche vengono scritte in modo sincrono sul supporto di memorizzazione del filesystem sottostante; equivalente all'opzione di montaggio 'sync' per i file interessati. |
Guarda anche
Riferimenti
link esterno
- Definizione di: DOS Attrib su PC Magazine
- File nascosti in sistemi operativi simili a Unix presso la Wayback Machine (archiviata il 17 ottobre 2007)
- Costanti attributi file Microsoft
- Attributi file Win32