Dateintegrität mit cksum unter Ubuntu zuverlässig prüfen

Einführung in die Prüfsummenvalidierung

Beim Verschieben, Herunterladen oder Sichern sensibler Datenbestände unter Linux lässt sich ein unbemerkter Datenverlust oder nachträgliche Manipulation nie völlig ausschließen. Dieser Leitfaden demonstriert praxisnah, wie Systemadministratoren unter Ubuntu 24.04 das vorinstallierte Coreutils-Werkzeug cksum einsetzen, um die Unversehrtheit beliebiger Dateien schnell und verlässlich zu gewährleisten.

Grundlagen und Checksummen-Ermittlung für Einzeldokumente

Zunächst richten wir ein isoliertes Arbeitsverzeichnis für unsere Testläufe ein und wechseln unmittelbar dorthin:

mkdir -p ~/cksum_demo && cd ~/cksum_demo

Als Ausgangsbasis erzeugen wir eine kleine Textdatei namens original.txt, die als Referenzobjekt dient:

echo ‘Hello Ubuntu cksum test’ > original.txt

Wird das Dienstprogramm cksum ohne zusätzliche Parameter aufgerufen, berechnet es standardmäßig eine klassische 32-Bit-CRC-Prüfsumme und ermittelt parallel die exakte Bytegröße der Datei.
In der resultierenden Ausgabe steht der erste numerische Block für den eigentlichen Prüfwert, gefolgt von der Dateigröße (hier exakt 24 Bytes) sowie dem Dateipfad.
⚙️ [Wesentliche Parameter im Überblick]

-a, --algorithm : Definiert das Berechnungsverfahren (unterstützt neben dem CRC-Standard auch modernere Algorithmen wie md5, sha1 oder sha256).
-c, --check : Liest eine zuvor exportierte Prüfsummendatei ein und verifiziert alle darin aufgeführten Dateien in einem Durchlauf.
--untagged : Formatiert die Textausgabe nach dem traditionellen Standard (Prüfsumme gefolgt von Dateiname, ohne Algorithmen-Präfix).
--base64 : Kodiert den errechneten Hash-Wert als Base64-Zeichenkette anstelle der üblichen hexadezimalen Darstellung.
--raw : Gibt das Prüfergebnis als unformatierte Rohbytes (Binärdaten) direkt an die Standardausgabe weiter.

cksum original.txt

Dateien vergleichen und unbefugte Änderungen aufdecken

Um ein Kontrollszenario aufzubauen, fertigen wir zunächst ein identisches Duplikat der Ausgangsdatei an:

cp original.txt copy.txt

Zur Simulation einer Dateimanipulation erzeugen wir eine weitere Kopie, an deren Ende wir gezielt eine zusätzliche Zeichenfolge anhängen:

cp original.txt modified.txt && echo ‘unexpected change’ » modified.txt

Übergeben wir nun sämtliche Testdateien gemeinsam an cksum original.txt copy.txt modified.txt, werden die Werte direkt gegenübergestellt.
Während original.txt und copy.txt identische Prüfsummen (306207352) sowie Byte-Zahlen (24) aufweisen, weicht die manipulierte Fassung modified.txt mit Prüfwert 633487654 und einer Länge von 42 Bytes unmissverständlich ab. Beschädigungen oder Modifikationen fallen somit sofort ins Auge.

cksum original.txt copy.txt modified.txt

Datenströme und Archive über Standard-In (stdin) prüfen

Das Tool verarbeitet Eingaben nicht nur aus dem Dateisystem, sondern wertet auch Datenströme via Linux-Pipes (|) mühelos aus. Mit echo 'Streaming text data' | cksum testen wir diesen Mechanismus live:
Ohne dass temporäre Dateien auf den Datenträger geschrieben werden müssen, liefert der Befehl auf der Stelle den berechneten Hash (1759270211) sowie die exakte Zeichenlänge (20 Bytes).

echo ‘Streaming text data’ | cksum

Ebenso unkompliziert lässt sich die Unversehrtheit frisch gepackter Archive sicherstellen. Nach der Zusammenfassung mehrerer Dokumente mit tar -cf demo_archive.tar original.txt copy.txt && cksum demo_archive.tar ermittelt das System die Integritätsdaten:
Für demo_archive.tar resultiert verlässlich der Wert 2343346160 bei einer Archivgröße von 10240 Bytes.

tar -cf demo_archive.tar original.txt copy.txt && cksum demo_archive.tar

Kryptografische Prüfsummen (SHA256, MD5) und Dateiüberprüfung

Für kryptografisch robuste Absicherungen empfiehlt sich die Wahl moderner Hash-Algorithmen. Mittels -a sha256 berechnen wir den kryptografischen Fingerabdruck von original.txt und leiten ihn per Shell-Umleitung (>) direkt in eine Prüfdatei original.sha256 um:

cksum -a sha256 original.txt > original.sha256

Ein kurzer Blick in die neu erstellte Prüfsummenliste via cat original.sha256 verdeutlicht die Struktur:
Der 64 Zeichen lange SHA256-Digest wurde gemeinsam mit dem standardisierten Formatbezeichner und dem zugehörigen Zieldateinamen sauber hinterlegt.

cat original.sha256

Die eigentliche Gegenprüfung erfolgt vollautomatisiert mit dem Schalter -c. Durch den Aufruf von cksum -c original.sha256 gleicht das Werkzeug den aktuellen Hash der Datei mit dem gespeicherten Referenzwert ab:
Stimmen beide exakt überein, quittiert das Terminal die Überprüfung mit dem Status original.txt: OK und bestätigt damit die absolute Unversehrtheit des Dokuments.

cksum -c original.sha256

Mit dem Linux-Kommando cksum steht Administratoren unter Ubuntu ein flexibles und unkompliziertes Instrument zur Seite, um Dateiübertragungen, Backup-Archive und Systemressourcen vor stiller Datenbeschädigung oder heimlichen Änderungen zu schützen. Integrieren Sie diese Routineprüfungen am besten fest in Ihre täglichen Administrations- und Deployment-Workflows.