In Linux, ogni file ha alcune proprietà dei metadati, che includono attributi e questi attributi possono essere impostati o cancellati e pochi attributi possono essere visualizzati solo. L'obiettivo principale di questo comando è proteggere i file importanti e impedire che vengano eliminati accidentalmente.
Innanzitutto, controlliamo la sintassi di "chattracomando:
chattr [operatore] [flag] [nome file]Gli operatori sono:
operatori | Descrizione |
---|---|
+ | Per aggiungere l'attributo a un file |
- | Per rimuovere l'attributo da un file |
= | Mantieni gli attributi selezionati come l'unico attributo che i file hanno |
Ora controlliamo l'elenco dei flag che vengono utilizzati con il "chattracomando:
Bandiera | Descrizione |
---|---|
UN | Quando è impostato, un record di tempo (tempo di accesso) rimane invariato |
S | Quando impostato, le modifiche vengono aggiornate in modo sincrono sul disco |
un | Quando impostato, il file si apre in modalità di aggiunta per scrivere |
io | Quando impostato, il file diventa immodificabile e solo il superutente può abilitarlo |
j | Quando impostato, tutte le informazioni vengono aggiornate sul journal ext3 prima del file stesso |
t | Quando impostato, nessuna coda che si fonde |
tu | Quando è impostato per un file, i suoi dati vengono salvati. Ciò consente all'utente di ripristinare il file |
e | Questo attributo indica che il file sta usando le estensioni per mappare il blocco sulla memoria |
Comprendiamo ulteriormente il “chattra” con esempi:
Come aggiungere una restrizione di sola lettura a un file utilizzando il comando "chattr":
In primo luogo, l'uso più comune del "chattraIl comando "imposta il flag immutabile"io". Creiamo un file con il nome "il mio file.TXT” e rendilo di sola lettura usando il comando:
$sudo chattr +i miofile.TXT
Un'icona a forma di lucchetto apparirà sul file dopo aver applicato il "io"bandiera, come mostrato nell'immagine sopra. Dopo aver impostato il flag, il file non sarà più modificabile, come mostrato nell'immagine seguente:
È inoltre possibile impostare più flag; ad esempio, se si desidera rendere un file di sola lettura e limitare anche il record di accesso, utilizzare:
$sudo chattr +iA miofile.TXT
Come rimuovere la restrizione di sola lettura su un file utilizzando il comando "chattr":
Se vuoi rimuovere queste impostazioni, usa il comando indicato di seguito:
$sudo chattr -i miofile.TXT
Come si può vedere, il file può ora essere modificato dopo aver eliminato il "io" bandiera.
Come concedere l'accesso in sola aggiunta a un file utilizzando il comando "chattr":
Per concedere l'autorizzazione di sola aggiunta a un file, un "un” flag può essere impostato. L'obiettivo di “un” flag è quello di consentire agli utenti di aggiungere qualcosa a un file e limitare la modifica dei dati già presenti nel file:
$sudo chattr +a miofile.TXTVerifichiamolo con un esempio:
Come mostrato nelle immagini sopra, il testo può essere solo aggiunto, ma non può sovrascrivere il testo esistente.
Allo stesso modo, per rimuovere l'accesso utilizzare:
$sudo chattr -a miofile.TXT
Dopo aver rimosso la restrizione, il file può essere sovrascritto, come illustrato nelle immagini sopra.
Come impostare la restrizione su una directory utilizzando il comando "chattr":
Un intero direttamente può anche essere limitato usando il "chattra"comando". Per questa guida, ho creato una directory con il nome di "mydir" con alcuni file al suo interno:
$ sudo chattr -R +i ./mydir/Per verificarlo, prova a rimuovere un file:
Come si vede, l'operazione non è consentita.
Come controllare gli attributi "chattr" applicati a un file:
Per verificare quali attributi sono stati impostati, utilizzare il comando mostrato di seguito:
$lsattr miofile.TXT
Conclusione:
Cambia attributo è il pratico strumento da riga di comando per modificare i permessi dei file. Aiuta a proteggere i file importanti e impedisce che vengano alterati se il sistema utilizza più utenti. In questa guida, abbiamo discusso come utilizzare il "chattra” comando per modificare le proprietà dei metadati per cambiare i permessi del file usando flag differenti.