Linux chattr-Befehl
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 AttributeSyntax
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` 表示不可变Andere Erweiterungen
Linux-Befehlsreferenz