GNU/Linux >> Linux Esercitazione >  >> Linux

Linux chattr Command Tutorial per principianti (5 esempi)

Molte volte, una macchina Linux viene utilizzata da utenti diversi. Quindi ci sono possibilità che questi utenti accedano a un insieme comune di file. Questo apre la porta a problemi come l'eliminazione accidentale o la modifica di file importanti, cosa che tu, come amministratore, non vorresti assolutamente accadesse.

Per fortuna, esiste un comando, chiamato chattr - che è stato sviluppato per aiutarti in questo tipo di scenari specifici. In questo tutorial, discuteremo di questo strumento utilizzando alcuni esempi di facile comprensione. Ma prima di farlo, vale la pena ricordare che tutti gli esempi qui presenti sono stati testati su Ubuntu 18.04 LTS e Debian 10.

Il comando chattr di Linux

Fondamentalmente, il comando chattr viene utilizzato per modificare gli attributi dei file su un file system Linux. Di seguito è riportata la sua sintassi:

chattr [ -RVf ] [ -v version ] [ mode ] files...

Ed ecco cosa dice la pagina man a riguardo:

       chattr changes the file attributes on a Linux file system.

       The format of a symbolic mode is +-=[aAcCdDeijsStTu].

       The  operator  '+'  causes  the  selected attributes to be added to the
       existing attributes of the files; '-' causes them to  be  removed;  and
       '=' causes them to be the only attributes that the files have.

       The  letters  'aAcCdDeijsStTu' select the new attributes for the files:
       append only (a), no atime updates (A), compressed (c), no copy on write
       (C), no dump (d), synchronous directory updates (D), extent format (e),
       immutable (i), data journalling (j), secure deletion  (s),  synchronous
       updates  (S),  no tail-merging (t), top of directory hierarchy (T), and
       undeletable (u).

       The following attributes are read-only, and may be listed by  lsattr(1)
       but  not  modified  by  chattr:  compression  error (E), huge file (h),
       indexed directory (I), inline data (N), compression raw access (X), and
       compressed dirty file (Z).

       Not  all  flags  are supported or utilized by all filesystems; refer to
       filesystem-specific man pages such as btrfs(5), ext4(5), and xfs(5) for
       more filesystem-specific details.

Di seguito sono riportati alcuni esempi in stile domande e risposte che dovrebbero darti una buona idea di come funziona il comando chattr.

Q1. Come usare il comando chattr?

Supponiamo di voler rendere un file di sola lettura. Quindi tutto ciò che devi fare è eseguire il comando chattr con l'opzione +i e il nome del file come input.

Ad esempio:

chattr +i test.txt

La schermata seguente mostra che nessun'altra operazione è riuscita sul file una volta che è diventato di sola lettura utilizzando chattr.

Nota :Come avresti già osservato, devi avere i privilegi di root per usare il comando chattr.

Q2. Come rimuovere la restrizione di sola lettura imposta da chattr?

Questo è semplice:tutto ciò che devi fare è usare l'opzione -i invece di +i. Ad esempio:

chattr -i test.txt

Quindi puoi vedere che il fattore di sola lettura è stato rimosso con l'opzione -i.

Q3. Come fornire l'autorizzazione di sola aggiunta a un file?

A volte, potresti non volere una restrizione completa su un file. Quello che voglio dire è che potresti voler fornire agli utenti l'accesso di sola aggiunta a un file, in modo che possano essere aggiunte nuove informazioni, ma le informazioni esistenti non possono essere eliminate o modificate. Questo è possibile anche usando chattr tramite l'opzione +a.

chattr +a test.txt

Quindi puoi vedere che ora potremmo aggiungere al file, ma non possiamo modificare le informazioni esistenti nel file né eliminare il file. Per invertire questo comportamento, usa l'opzione -a.

chattr -a test.txt

Q4. Come applicare una restrizione usando chattr a tutti i file in una directory?

Questo può essere fatto usando il flag -R, che ti permette di cambiare ricorsivamente gli attributi delle directory e il loro contenuto. Ad esempio, se vuoi creare tutti i file all'interno della test-dir directory come di sola lettura, usa il comando chattr nel modo seguente:

chattr -R +i ./test-dir/

Lo screenshot seguente mostra che la restrizione di sola lettura è stata applicata correttamente a tutti i file all'interno della directory.

Q5. Come controllare gli attributi chattr applicati ai file?

Finora, per verificare se un attributo chattr è stato applicato correttamente, abbiamo provato a eseguire operazioni come la modifica del file o l'eliminazione. Ma c'è un comando separato che ti consente di vedere facilmente se gli attributi sono stati applicati o meno. Il comando in questione è lsattr .

lsattr [FILENAME]

Ad esempio, lo screenshot seguente mostra l'output di lsattr suggerendo chiaramente che l'attributo 'i' è stato applicato a tutti i file nella directory.

Solo per riconfermare, ecco l'output dopo l'utilizzo dell'opzione -i.

Così puoi vedere nello screenshot qui sopra, l'attributo di sola lettura è stato rimosso da tutti i file.

Conclusione

Probabilmente sarai d'accordo sul fatto che chattr è uno strumento da riga di comando indispensabile se sei un amministratore di sistema o gestisci gli utenti su una macchina Linux in generale. L'uso efficace del comando può salvarti da molte seccature. Questo articolo dovrebbe essere sufficiente per iniziare con il comando. Dopo aver praticato gli esempi che abbiamo discusso qui, vai alla pagina man dello strumento per saperne di più.


Linux
  1. Tutorial sul comando cd di Linux per principianti (8 esempi)

  2. Tutorial comando Linux comm per principianti (5 esempi)

  3. Linux df Command Tutorial per principianti (8 esempi)

  4. Tutorial sul comando della data di Linux per principianti (8 esempi)

  5. Linux du Command Tutorial per principianti (10 esempi)

Tutorial sui comandi Linux nm per principianti (10 esempi)

Esercitazione sui comandi OD Linux per principianti (6 esempi)

Linux w Command Tutorial per principianti (5 esempi)

Linux passwd Command Tutorial per principianti (8 esempi)

Tutorial sui comandi Linux ss per principianti (8 esempi)

Tutorial sui comandi di Linux strace per principianti (8 esempi)