GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Chattr-Befehl in Linux (Dateiattribute)

Unter Linux sind Dateiattribute Metadateneigenschaften, die das Verhalten der Datei beschreiben. Beispielsweise kann ein Attribut angeben, ob eine Datei komprimiert ist oder ob die Datei gelöscht werden kann.

Einige Attribute wie Unveränderlichkeit können gesetzt oder gelöscht werden, während andere wie Verschlüsselung schreibgeschützt sind und nur angezeigt werden können. Die Unterstützung bestimmter Attribute hängt vom verwendeten Dateisystem ab.

Dieser Artikel erklärt, wie man den chattr verwendet Befehl zum Ändern von Dateiattributen auf Linux-Dateisystemen.

chattr Syntax #

Der chattr Der Befehl hat die folgende allgemeine Form:

chattr [OPTIONS] [OPERATOR][ATTRIBUTES] FILE...

Der Wert von [OPERATOR] Teil kann eines der folgenden Symbole sein:

  • + - Der Plus-Operator teilt dem chattr mit um bestimmte Attribute zu den bestehenden hinzuzufügen.
  • - - Der Minusoperator teilt dem chattr mit um bestimmte Attribute von den bestehenden zu entfernen.
  • = - Der Gleichheitsoperator teilt dem chattr mit bestimmte Attribute als einzige Attribute festzulegen.

Dem Operator folgen ein oder mehrere [ATTRIBUTES] Flags, die Sie den Dateiattributen hinzufügen oder daraus entfernen möchten. Nachfolgend finden Sie eine Liste mit einigen allgemeinen Attributen und zugehörigen Flags:

  • a - Wenn dieses Attribut gesetzt ist, kann die Datei nur im Append-Modus zum Schreiben geöffnet werden.
  • A - Wenn eine Datei mit diesem Attributsatz geöffnet ist, wird ihr atime-Datensatz nicht geändert. atime (Zugriffszeit) ist die letzte Zeit, zu der auf die Datei von einem Befehl oder einer Anwendung zugegriffen/geöffnet wurde.
  • e - Dieses Attribut gibt an, dass die Datei Extents zum Zuordnen der Blöcke auf der Festplatte verwendet. Das e Attribut kann nicht mit chattr geändert werden .
  • i - Dieses Attribut gibt an, dass die Datei unveränderlich ist, was bedeutet, dass die Datei nicht gelöscht oder umbenannt werden kann.

Geben Sie für eine vollständige Liste aller Dateiattribute und Flags man chattr ein in Ihrem Terminal.

Standardmäßig werden Dateiattribute nicht beibehalten, wenn eine Datei mit Befehlen wie cp kopiert wird oder rsync .

chattr Beispiel #

Eine der häufigsten Verwendungen von chattr besteht darin, das unveränderliche Flag auf eine Datei oder ein Verzeichnis zu setzen, um Benutzer daran zu hindern, die Datei zu löschen oder umzubenennen.

Sie können die Dateiattribute mit lsattr anzeigen Befehl:

lsattr todo.txt

Die folgende Ausgabe zeigt, dass nur der e Flag ist gesetzt:

--------------e----- todo.txt

Um die Datei unveränderlich zu machen, fügen Sie das i hinzu mit + kennzeichnen Operator zu den bestehenden Attributen:

sudo chattr +i todo.txt

Wir verwenden sudo, weil nur root das unveränderliche Flag ändern kann.

Bestätigen Sie, dass das Attribut hinzugefügt wurde:

lsattr todo.txt
----i---------e----- todo.txt

Um die Änderungen rückgängig zu machen und das unveränderliche Flag zu entfernen, verwenden Sie - Betreiber:

sudo chattr +i todo.txt

Mit chattr können Sie mehrere Attribute gleichzeitig hinzufügen oder entfernen. Um beispielsweise die Datei unveränderlich zu machen und den Kernel anzuweisen, die Zeit des letzten Zugriffs nicht zu verfolgen, würden Sie Folgendes verwenden:

sudo chattr +iA todo.txt

Der letzte Operator, den Sie verwenden können, ist = Operator. Zum Beispiel, um den e einzustellen -Attribut als einziges Attribut, würden Sie Folgendes ausführen:

sudo chattr "=e" todo.txt

Beachten Sie, dass der Operator und das Flag in Anführungszeichen eingeschlossen sind, um eine Shell-Interpretation von + zu vermeiden Zeichen.

Schlussfolgerung #

chattr ist ein Befehlszeilentool zum Ändern der Dateiattribute in einem Linux-Dateisystem.

Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.


Linux
  1. Chattr-Befehl in Linux (unveränderliches Bit setzen)

  2. chattr-Befehl unter Linux mit Beispielen

  3. Linux-wc-Befehl

  4. Linux grep-Befehl

  5. file Befehlsbeispiele in Linux

Cp-Befehl in Linux (Dateien kopieren)

Gzip-Befehl unter Linux

Befehl zum Aufheben der Verknüpfung in Linux (Datei entfernen)

Gunzip-Befehl unter Linux

Stat-Befehl unter Linux

Truncate-Befehl unter Linux