Linux chattr-Befehl

Linux 命令大全Linux-Befehlsreferenz

Der Linux-Befehl chattr wird verwendet, um die Attribute von Dateien oder Verzeichnissen zu ändern. Diese Attribute können das Verhalten des Dateisystems steuern und erweiterte Funktionen zur Dateiverwaltung bieten.

Häufige Attribute

Syntax

chattr [选项] [+/-/=属性] 文件或目录

Häufige Optionen

  • -R: Verzeichnisse und deren Unterverzeichnisse rekursiv verarbeiten
  • -V: Detaillierte Informationen anzeigen
  • -v: Versionsinformationen anzeigen

Attributmodi

  • +: Attribut hinzufügen
  • -: Attribut entfernen
  • =: Auf angegebene Attribute setzen

Häufige Attribute

Attribute Beschreibung
a Nur anhängen: An die Datei kann nur angehängt werden; vorhandener Inhalt kann nicht gelöscht oder geändert werden (erfordert Root-Rechte).
i Unveränderlich: Die Datei kann nicht gelöscht, geändert oder umbenannt werden, und es können keine Hardlinks erstellt werden (erfordert Root-Rechte).
A Aktualisiert die letzte Zugriffszeit der Datei nicht (atime)。
c Die Datei wird auf dem Datenträger automatisch komprimiert (von einigen Dateisystemen unterstützt).
s Sicheres Löschen: Wenn die Datei gelöscht wird, werden ihre Daten mit Nullen überschrieben (nicht wiederherstellbar).
u Nachdem die Datei gelöscht wurde, kann ihr Inhalt noch wiederhergestellt werden (im Gegensatz zus).
d Die Datei istdumpBeim Backup übersprungen.

Beispiele

Attribut hinzufügen (+):

sudo chattr +i file.txt  # 设置文件为不可变(防删除/修改)
sudo chattr +a /var/log/syslog  # 日志文件只能追加

Attribut entfernen (-):

sudo chattr -i file.txt  # 取消不可变属性

Attribut zurücksetzen (=):

sudo chattr =a file.txt  # 移除所有属性,仅保留 `a`

Wichtige Konfigurationsdateien schützen:

chattr +i /etc/passwd
chattr +i /etc/shadow

Logdatei auf Nur-Anhängen setzen:

chattr +a /var/log/messages

Verzeichnisattribute rekursiv setzen:

chattr -R +i /etc/important/

Dateiattribute anzeigen (mit dem Befehl lsattr):

lsattr filename

Beispielausgabe:

----i--------- file.txt  # `i` 表示不可变

Linux 命令大全Linux-Befehlsreferenz

Andere Erweiterungen