[[Vorlage(getestet, general)]] {{{#!vorlage Wissen [:Terminal:Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] '''chattr''' steht für '''ch'''ange '''attr'''ibute und erlaubt es, ein bestimmtes Attribute auf Dateien oder Ordner zu setzen. Dies funktioniert jedoch nur auf ext2-, ext3- und ext4-[:Dateisystem:Dateisystemen]. Es wird meist benutzt, um eine Datei unveränderbar zu machen, damit sie nicht gelöscht oder geändert werden kann. '''lsattr''' zeigt die Attribute an, die eine Datei besitzt. Verwandte Befehle sind: * [:chown:] legt den Besitzer und die Gruppenzugehörigkeit von Dateien fest. * [:chgrp:] legt die Gruppenzugehörigkeit von Dateien fest. * [:chmod:] verändert die Zugriffsrechte von Dateien. = Installation = Die Programme '''chattr''' und '''lsattr''' sind im essentiellen Paket * '''e2fsprogs''' von Ubuntu enthalten und deshalb auf jedem System installiert. = Aufruf = Zum Setzen eines Attributes [1]: {{{#!vorlage Befehl chattr [Parameter] +ATTRIBUT DATEI }}} und zum Entfernen: {{{#!vorlage Befehl chattr [Parameter] -ATTRIBUT DATEI }}} Zum Anzeigen der Attribute sämtlicher Dateien in dem Ordner, in dem man sich befindet: {{{#!vorlage Befehl lsattr }}} Zum Anzeigen der Attribute einer bestimmten Datei: {{{#!vorlage Befehl lsattr DATEI }}} = Attribute = ||Attribut||Bedeutung|| ||``A``|| Bei Dateien mit diesem Attribut wird das Datum des letzten Zugriffes nicht gespeichert. || || ``a``|| Dateien mit diesem Attribut können nur im append-Modus zum Schreiben geöffnet werden. Es kann also nur Inhalt an die Datei dran gehangen werden aber nicht gelöscht oder überschrieben werden. Dieses Attribut kann nur mit Root-Rechten gesetzt und entfernt werden.|| ||``c``|| Dateien mit diesem Attribut werden automatisch vom Kernel gepackt auf der Platte gespeichert. Wird sie ausgelesen, wird sie automatisch wieder entpackt. Dieses Attribut hat momentan noch keine Auswirkungen auf ext2- und ext3-[:Dateisystem:Dateisystemen].|| || ``D``|| Wenn ein Ordner dieses Attribut besitzt und verändert wird, werden diese Veränderungen synchron auf die Festplatte geschrieben.|| ||``d``|| Dateien mit diesem Attribut werden von dem Programm "dump" ignoriert.|| || ``E``|| Dieses Attribut kann nicht gesetzt werden. Es gibt an, ob eine Datei, die vom Kernel gepackt wurde, einen Kompressions-Fehler besitzt.|| ||``I``|| Dieses Attribut kann nicht gesetzt werden. Es gibt an, ob ein Ordner über gehashte trees (Bäume) indexiert wird.|| || ``i``|| Dateien mit diesem Attribut können nicht verändert werden. Sie können nicht gelöscht oder modifiziert werden und man kann keinen harten Link (Hardlink) auf die Datei erstellen. Symbolische Links (Softlinks) sind weiterhin möglich. Dieses Attribut kann nur mit Root-Rechten gesetzt und entfernt werden.|| ||``j``|| Besitzt eine Datei dieses Attribut, wird ihr ganzer Inhalt erst in das Journal geschrieben bevor es auf die Festplatte geschrieben wird. Es hat nur Auswirkungen auf ext3-[:Dateisystem:Dateisystemen] und nur, wenn es im ``ordered``- oder ``writeback``-Modus läuft. Dieses Attribut kann nur mit Root-Rechten gesetzt und entfernt werden.|| || ``s``|| Wenn eine Datei mit diesem Attribut gelöscht wird, werden ihre Daten auf der Festplatte mit Nullen überschrieben. Dieses Attribut hat momentan noch keine Auswirkungen auf ext2- und ext3-[:Dateisystem:Dateisystemen].|| ||``S``|| Wenn eine Datei dieses Attribut besitzt und verändert wird, werden diese Veränderungen synchron auf die Festplatte geschrieben.|| || ``T``|| Ein Ordner mit diesem Attribut wird vom [http://en.wikipedia.org/wiki/Orlov_block_allocator Orlov block allocator] {en} behandelt, als wäre es der erste Ordner in der Hierarchie. Zugriffe auf diesen Ordner werden dadurch beschleunigt.|| ||``t``|| Eine Datei auf der Festplatte wird sich den letzten Block, auf dem sie liegt, nicht mit einer anderen Datei teilen (tail-merging). Dieses Attribut hat momentan noch keine Auswirkungen auf ext2- und ext3-[:Dateisystem:Dateisystemen], da diese generell kein tail-merging unterstützen außer in experimentellen Patches.|| || ``u``|| Wenn eine Datei mit diesem Attribut gelöscht wird, wird ihr Inhalt gespeichert, so dass ein User sie später wieder herstellen kann. Dieses Attribut hat momentan noch keine Auswirkungen auf ext2- und ext3-[:Dateisystem:Dateisystemen].|| ||``X``|| Dieses Attribut kann nicht gesetzt werden. Es gibt an, ob eine vom Kernel gepackte Datei auch unentpackt gelesen werden kann.|| || ``Z``|| Dieses Attribut kann nicht gesetzt werden. Es gibt an, ob eine Datei, die vom Kernel gepackt, wurde einen Fehler besitzt.|| = Parameter = ||Parameter||Bedeutung|| ||``-R``|| Wenn man chattr mit diesem Parameter auf einen Ordner anwendet, werden alle Unterordner und Dateien rekursiv mit dem gewählten Attribut versehen bzw. das Attribut entfernt.|| || ``-V``|| Dieser Paramter ist der Verbose-Modus und man erhält mehr Meldungen auf dem Screen, wenn man Dateiattribute setzt.|| = Beispiele = Eine Datei unveränderbar machen: {{{#!vorlage Befehl sudo chattr +i DATEI }}} Eine unveränderbar gemachte Datei wieder veränderbar machen: {{{#!vorlage Befehl sudo chattr -i DATEI }}} Alle Dateien in einem Ordner rekursiv unveränderbar machen: {{{#!vorlage Befehl sudo chattr -R +i ORDNER }}} Die Attribute einer Datei anzeigen: {{{#!vorlage Befehl lsattr DATEI }}} = Links = * [:Benutzer_und_Gruppen:] {Übersicht} Grundlagenartikel * [:Rechte:] {Übersicht} Besitz- und Zugriffsrechte für Ordner und Dateien in Linux # tag: Shell