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 demchattr
mit um bestimmte Attribute zu den bestehenden hinzuzufügen.-
- Der Minusoperator teilt demchattr
mit um bestimmte Attribute von den bestehenden zu entfernen.=
- Der Gleichheitsoperator teilt demchattr
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. Dase
Attribut kann nicht mitchattr
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.