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

Linux chattr Command Tutorial für Anfänger (5 Beispiele)

Häufig wird ein Linux-Rechner von verschiedenen Benutzern verwendet. Es besteht also die Möglichkeit, dass diese Benutzer auf einen gemeinsamen Satz von Dateien zugreifen. Dies öffnet Problemen wie dem versehentlichen Löschen oder Bearbeiten wichtiger Dateien Tür und Tor, etwas, was Sie als Administrator definitiv nicht wollen würden.

Zum Glück gibt es einen Befehl namens chattr - das entwickelt wurde, um Ihnen speziell in solchen Szenarien zu helfen. In diesem Tutorial werden wir dieses Tool anhand einiger leicht verständlicher Beispiele besprechen. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele hier auf Ubuntu 18.04 LTS und Debian 10 getestet wurden.

Der Linux-Chattr-Befehl

Grundsätzlich wird der Befehl chattr verwendet, um Dateiattribute in einem Linux-Dateisystem zu ändern. Es folgt die Syntax:

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

Und hier ist, was die Manpage dazu sagt:

       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.

Im Folgenden finden Sie einige Beispiele im Stil von Fragen und Antworten, die Ihnen eine gute Vorstellung davon vermitteln sollen, wie der Befehl chattr funktioniert.

Q1. Wie verwende ich den Chattr-Befehl?

Angenommen, Sie möchten eine Datei schreibgeschützt machen. Alles, was Sie tun müssen, ist, den Befehl chattr mit der Option +i und dem Namen der Datei als Eingabe auszuführen.

Zum Beispiel:

chattr +i test.txt

Der folgende Screenshot zeigt, dass keine andere Operation für die Datei erfolgreich war, nachdem sie mit chattr.

schreibgeschützt wurde

Hinweis Hinweis:Wie Sie bereits festgestellt haben, benötigen Sie Root-Rechte, um den Chattr-Befehl verwenden zu können.

Q2. Wie entferne ich die von chattr auferlegte Lesebeschränkung?

Das ist einfach - Sie müssen lediglich die Option -i anstelle von +i verwenden. Zum Beispiel:

chattr -i test.txt

Sie können also sehen, dass der Nur-Lese-Faktor mit der Option -i entfernt wurde.

Q3. Wie erteile ich einer Datei die Nur-Anhänge-Berechtigung?

Manchmal möchten Sie möglicherweise keine vollständige Einschränkung für eine Datei. Was ich meine, ist, dass Sie Benutzern möglicherweise Nur-Anhängen-Zugriff auf eine Datei gewähren möchten, sodass neue Informationen hinzugefügt werden können, vorhandene Informationen jedoch nicht gelöscht oder bearbeitet werden können. Dies ist auch mit chattr über die Option +a möglich.

chattr +a test.txt

Sie können also sehen, dass wir jetzt an die Datei anhängen konnten, aber weder vorhandene Informationen in der Datei bearbeiten noch die Datei löschen konnten. Um dieses Verhalten umzukehren, verwenden Sie einfach die Option -a.

chattr -a test.txt

Q4. Wie wende ich eine Einschränkung mit chattr auf alle Dateien in einem Verzeichnis an?

Dies kann mit dem Flag -R erfolgen, mit dem Sie Attribute von Verzeichnissen und deren Inhalt rekursiv ändern können. Zum Beispiel, wenn Sie alle Dateien im test-dir erstellen möchten Verzeichnis als schreibgeschützt, verwenden Sie den Chattr-Befehl wie folgt:

chattr -R +i ./test-dir/

Der folgende Screenshot zeigt, dass die Nur-Lese-Beschränkung erfolgreich auf alle Dateien im Verzeichnis angewendet wurde.

F5. Wie überprüfe ich auf Dateien angewendete Chattr-Attribute?

Um zu überprüfen, ob ein chattr-Attribut erfolgreich angewendet wurde, haben wir bisher versucht, Operationen wie das Bearbeiten der Datei oder das Löschen durchzuführen. Aber es gibt einen separaten Befehl, mit dem Sie leicht sehen können, ob die Attribute angewendet wurden oder nicht. Der fragliche Befehl ist lsattr .

lsattr [FILENAME]

Der folgende Screenshot zeigt zum Beispiel die Ausgabe von lsattr, die eindeutig darauf hindeutet, dass das Attribut „i“ auf alle Dateien im Verzeichnis angewendet wurde.

Nur zur Bestätigung, hier ist die Ausgabe, nachdem die Option -i verwendet wurde.

Wie Sie im obigen Screenshot sehen können, wurde das Nur-Lesen-Attribut von allen Dateien entfernt.

Schlussfolgerung

Sie werden wahrscheinlich zustimmen, dass chattr ein unverzichtbares Befehlszeilentool ist, wenn Sie ein Systemadministrator sind oder Benutzer auf einem Linux-Computer im Allgemeinen verwalten. Die effektive Verwendung des Befehls kann Ihnen viel Ärger ersparen. Dieser Artikel sollte ausreichen, um Ihnen den Einstieg in den Befehl zu erleichtern. Nachdem Sie die hier besprochenen Beispiele geübt haben, gehen Sie zur Manpage des Tools, um mehr darüber zu erfahren.


Linux
  1. Linux-CD-Befehls-Tutorial für Anfänger (8 Beispiele)

  2. Linux-Kommando-Tutorial für Anfänger (5 Beispiele)

  3. Linux-df-Befehls-Tutorial für Anfänger (8 Beispiele)

  4. Linux Date Command Tutorial für Anfänger (8 Beispiele)

  5. Linux du Command Tutorial für Anfänger (10 Beispiele)

Linux-nm-Befehls-Tutorial für Anfänger (10 Beispiele)

Linux OD Command Tutorial für Anfänger (6 Beispiele)

Linux w Command Tutorial für Anfänger (5 Beispiele)

Linux passwd Command Tutorial für Anfänger (8 Beispiele)

Linux ss Command Tutorial für Anfänger (8 Beispiele)

Linux strace Command Tutorial für Anfänger (8 Beispiele)