Come il filesystem FAT dispone di attributi per i file (archivio, file di sistema, nascosto), anche ext2fs ne ha di propri, ma differenti. Ne parliamo qui per ragioni di completezza, ma sono usati molto raramente. Se desiderate davvero un sistema sicuro, comunque, proseguite nella lettura.
Esistono due comandi per modificare gli attributi dei file: lsattr(1) e chattr(1). Come avrete probabilmente immaginato, lsattr elenca (LiSt) gli attributi, mentre chattr li cambia (CHange). Gli attributi di cui stiamo parlando possono essere assegnati solo a directory e file normali. Sono ammessi i seguenti attributi:
A (no Access time, niente data di accesso): se un file o una directory presenta questo attributo, tutte le volte che vi si accede, sia in lettura che in scrittura, 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 inodo 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 il backup dei dati in 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 quando verrà usato il comando dump. Si noti che, nel caso delle directory, questo riguarda anche tutte le sotto-directory e i file in esse contenuti.
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 ad essi può essere creato[1] e non possono essere cancellati. Soltanto root può impostare o disabilitare questo attributo. Notate che, come conseguenza, neanche la data di accesso 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 sovrascritti con degli zeri.
S (Synchronous mode, modalità sincrona): se un file o una directory presentano 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] | Ormai dovreste sapere bene cosa significa "aggiungere un collegamento", sia per un file che per una directory :-). |