Com'è noto, la FAT dispone di attributi dei file (archivio, file di sistema, nascosto): anche ext2fs presenta la stessa caratteristica, ma sono differenti. Ne parliamo qui per ragioni di completezza, ma sono usati molto raramente. Se davvero desiderate un sistema sicuro, comunque, proseguite nella lettura.
Ci sono due comandi per modificare gli attributi dei file: man 1 lsattr e man 1 chattr. Come avrete probabilmente indovinato, lsattr elenca (LiSt) gli attributi, mentre chattr li cambia (CHange). Gli attributi di cui stiamo parlando riguardano soltanto le directory e i file normali, sono possibili i seguenti tipi:
A ((no Access time "non aggiornare la data di accesso") Se un file o una directory presenta questo attributo, tutte le volte che vi si accede, sia per leggerlo sia per scrivervi, l'indicazione cronologica relativa all'ultimo accesso resta inalterata. Questo può tornare utile, ad esempio, nel caso di file o directory che vengono richiesti in lettura molto spesso, soprattutto se si considera che questo parametro è l'unico tra quelli di un inode che cambia quando il file è aperto solo in lettura.
a (append only "aggiungi soltanto") Se un file presenta questo attributo ed è accessibile in scrittura, l'unica operazione possibile sarà quella di aggiungere dati al suo precedente contenuto. Per una directory, invece, questo significa che è possibile soltanto aggiungervi file, ma non rinominare o cancellare uno dei file già presenti. Solo root può impostare o rimuovere questo attributo.
d (no dump "niente dump") dump (8) è il programma standard per effettuare backup dei dati sotto Unix. Effettua una copia di qualsiasi filesystem per il quale sia impostato 1 come valore del dump counter nel file /etc/fstab (si veda il capitolo Filesystem e punti di mount). Ma se un file o una directory presentano questo attributo, a differenza degli altri non verranno presi in considerazione la prossima volta che verrà usato il comando dump. Si noti che, nel caso delle directory, questo riguarda anche tutte le sotto-directory e i file contenuti da queste ultime.
i (immutable "non modificabile") Un file o una directory che presentino questo attributo non possono in nessun modo essere modificati: non possono essere rinominati, nessun ulteriore collegamento può essere creato[1] e non possono essere cancellati. Soltanto root può impostare o disabilitare questo attributo. Notate che, come conseguenza, anche il la data di accesso non può essere modificata, perciò quando questo attributo è attivo non è necessario ricorrere all'attributo A.
s (secure deletion "cancellazione sicura") Quando viene cancellato un file o una directory che presenta questo attributo i blocchi che occupava su disco vengono riscritti con degli zero.
S (Synchronous mode "modo sincrono") Se un file o una directory presenta questo attributo, tutte le modifiche apportate sono sincrone e vengono immediatamente registrate su disco.
Potrebbe essere una buona idea, ad esempio, impostare l'attributo 'i' sui file di sistema più importanti al fine di evitare brutte sorprese. Un altro utilizzo potrebbe essere l'impiego dell'attributo 'A' sulle pagine di manuale: questo eviterebbe un gran numero di operazioni sul disco e, in particolare, permetterebbe di risparmiare un po' di carica delle batterie sui portatili.
[1] | A questo punto dovreste sapere bene cosa significa "aggiungere un link", sia per un file sia per una directory :-) |