Tipps&Tricks: Kommandozeilenkniffe III Veröffentlicht am: 06.06.2004 11:09:28 Wir schreiben das Jahr 2004 nach Christus, alle Unix-Systeme werden von root beherrscht! Alle? Nein, denn zwei kleine Befehle leisten der Übermacht Widerstand. Was es damit auf sich hat? Nun ja, wer sich bereits mit Rechten im Dateisystem auseinandergesetzt hat, kennt sicherlich die Klassiker chmod und chown, mit denen selbige gesetzt und an gewisse User gebunden werden können. Ebenso die allgemeine, vermeintliche Annahme, dass root immer alles darf. Das entspricht jedoch ganz und gar nicht den Tatsachen. Mit dem relativ unbekannten – und doch jeder Distribution beiliegendem – Kommando ‚chattr +[Option]’ setzen Sie nämlich erweiterte Attribute auf jede beliebige Datei. Und da wären wir auch schon bei den möglichen Parametern in alphabetischer Reihenfolge angelangt: ‚A’ verhindert, dass der letzte Zugriff auf ein File gespeichert wird, während mit ‚a’ die Datei nur noch zum Anhängen von Informationen geöffnet werden kann – Löschen ist nicht mehr möglich. Ein ‚c’ schaltet die im Kernel implementierte Komprimierung ein und sorgt für mehr Platz auf der Platte. Wird ein Ordner mit ‚D’ bzw. eine Datei mit ‚S’ ausgestattet, werden Änderungen sofort auf die Platte geschrieben – der unter Windows bekannte Schreibcache würde also deaktiviert werden. Ein ‚d’ hingegen sorgt wiederum dafür, dass damit behandelte Dateien „unsicherbar’ würden – jedes auf dump (siehe ‚man dump’) basierende Backupprogramm beißt sich fortan die Zähne daran aus. Die Schalter E, I, X & Z befinden sich im Experimentalstadium und/oder sind momentan für Systemprozesse vorbehalten – darum bitte nicht verändern! Mit ‚i’ wird jegliches Ändern, Löschen, Umbenennen und Verlinken verhindert. Selbst unser root darf nur mehr Schauen und maximal Starten! Weiter geht’s mit ‚j’, welches einzig bei ext3-Filesystemen sinnvoll ist, weil hiermit das Journal vor der Datei geschrieben wird (im Normalfall ist es umgekehrt!). Paranoiker werden sich an ‚s’ erfreuen, aktiviert es doch die Möglichkeit Dateien beim Löschen immer mit Nullen zu überschreiben und so jedem Forensiker die Chance zu nehmen, diese irgendwie wieder herzustellen. Rein optische Konsequenzen hat das Flag ‚T’. Wird es auf ein Verzeichnis angewandt, werden diese bei Auflistungen immer an erster Stelle platziert. Aber Achtung: dieses Feature ist für Kernel 2.6 entwickelt worden! Bei modernen Dateisystemen gibt es ferner die Option des „tail-merging", welches einem erlaubt den Speicherplatz von nicht vollständig belegten Blöcken zu benutzen. Da LILO damit Probleme hat, kann das Feature mit ‚t’ deaktiviert werden. In ext2 und ext3 ist es sowieso nicht implementiert. Christian Sudec |