Léiert Wéi Generéiere a Verifizéiere Dateien mat MD5 Checksum a Linux
E Checksum ass eng Ziffer déi als Zomm vu korrekten Zifferen an Daten déngt, déi spéider kënne benotzt ginn fir Feeler an den Daten während der Späichere oder der Iwwerdroung z'entdecken. MD5 (Message Digest 5) Zomme kënnen als Kontrollsumme benotzt ginn fir Dateien oder Strings an engem Linux Dateiesystem z'iwwerpréiwen.
MD5 Summen sinn 128-Bit Zeechestringen (Zifferen a Buschtawen) déi entstinn aus der Ausféierung vum MD5 Algorithmus géint eng spezifesch Datei. Den MD5 Algorithmus ass eng populär Hashfunktioun déi 128-Bit Message Verdauung generéiert, bezeechent als Hashwäert, a wann Dir een fir eng bestëmmte Datei generéiert, ass et präzis onverännert op all Maschinn egal wéi d'Zuel vun Mol et generéiert gëtt.
Et ass normalerweis ganz schwéier zwee verschidde Dateien ze fannen déi zu selwechte Saiten resultéieren. Dofir kënnt Dir md5sum benotze fir d'digital Datenintegritéit ze kontrolléieren andeems Dir feststellt datt eng Datei oder ISO déi Dir erofgelueden hutt e bësse-fir-bëssen Kopie vun der Ferndatei oder ISO ass.
Am Linux berechent a kontrolléiert de md5sum Programm MD5 Hash-Wäerter vun enger Datei. Et ass e Bestanddeel vum GNU Core Utilities Package, ass dofir virinstalléiert op déi meescht, wann net all Linux Verdeelungen.
Kuckt Iech den Inhalt vun /etc/group
als groups.cvs hei drënner gespäichert.
root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:syslog,aaronkilik tty:x:5: disk:x:6: lp:x:7: mail:x:8: news:x:9: uucp:x:10: man:x:12: proxy:x:13: kmem:x:15: dialout:x:20: fax:x:21: voice:x:22: cdrom:x:24:aaronkilik floppy:x:25: tape:x:26: sudo:x:27:aaronkilik audio:x:29:pulse dip:x:30:aaronkilik
De Kommando md5sums hei drënner generéiert en Hashwäert fir d'Datei wéi follegt:
$ md5sum groups.csv bc527343c7ffc103111f3a694b004e2f groups.csv
Wann Dir probéiert den Inhalt vun der Datei z'änneren andeems Dir déi éischt Zeil, root:x:0:
ewechhuelt an dann de Kommando fir eng zweete Kéier ausféiert, probéiert den Hash-Wäert ze observéieren:
$ md5sum groups.csv 46798b5cfca45c46a84b7419f8b74735 groups.csv
Dir wäert feststellen datt den Hashwäert elo geännert huet, wat beweist datt den Inhalt vun der Datei geännert gouf.
Elo, setzt déi éischt Zeil vun der Datei zréck, root:x:0:
an ëmbenannt se op group_file.txt a lafen de Kommando hei ënnen fir säin Hash-Wäert erëm ze generéieren:
$ md5sum groups_list.txt bc527343c7ffc103111f3a694b004e2f groups_list.txt
Vun der Ausgab uewendriwwer ass den Hash-Wäert nach ëmmer déiselwecht, och wann d'Datei ëmbenannt gouf, mat sengem originelle Inhalt.
Wichteg: md5 Summen verifizéiert/funktionnéiert nëmme mam Dateiinhalt anstatt dem Dateinumm.
D'Datei groups_list.txt ass en Duplikat vu groups.csv, also probéiert den Hash-Wäert vun de Dateien zur selwechter Zäit wéi follegt ze generéieren.
Dir gesitt datt se allebéid gläich Hashwäerter hunn, dëst ass well se deeselwechten Inhalt hunn.
$ md5sum groups_list.txt groups.csv bc527343c7ffc103111f3a694b004e2f groups_list.txt bc527343c7ffc103111f3a694b004e2f groups.csv
Dir kënnt den Hash-Wäert(e) vun enger Datei(en) an eng Textdatei redirectéieren a späicheren, deelen se mat aneren. Fir déi zwee Dateien hei uewen, kënnt Dir de Kommando hei ënnen erausginn fir generéiert Hash-Wäerter an eng Textdatei fir spéider ze benotzen:
$ md5sum groups_list.txt groups.csv > myfiles.md5
Fir ze kontrolléieren ob d'Dateien net geännert goufen zënter Dir de Checksum erstallt hutt, fuert de nächste Kommando. Dir sollt fäeg sinn den Numm vun all Datei zesumme mat OK ze gesinn.
D'Optioun -c
oder --check
seet dem md5sums Kommando fir MD5 Zommen aus de Dateien ze liesen an ze kontrolléieren.
$ md5sum -c myfiles.md5 groups_list.txt: OK groups.csv: OK
Denkt drun datt nodeems Dir d'Kontrollsum erstallt hutt, kënnt Dir d'Dateien net ëmbenennen oder soss kritt Dir e Keng esou Datei oder Verzeechnes Feeler, wann Dir probéiert d'Dateien mat neien Nimm z'iwwerpréiwen.
Zum Beispill:
$ mv groups_list.txt new.txt $ mv groups.csv file.txt $ md5sum -c myfiles.md5
md5sum: groups_list.txt: No such file or directory groups_list.txt: FAILED open or read md5sum: groups.csv: No such file or directory groups.csv: FAILED open or read md5sum: WARNING: 2 listed files could not be read
D'Konzept funktionnéiert och fir Strings ähnlech, an de Kommandoen hei drënner, -n
heescht net déi verfollegend Neilinn ausginn:
$ echo -n "Tecmint How-Tos" | md5sum - afc7cb02baab440a6e64de1a5b0d0f1b -
$ echo -n "Tecmint How-To" | md5sum - 65136cb527bff5ed8615bd1959b0a248 -
An dësem Guide hunn ech Iech gewisen wéi Dir Hashwäerter fir Dateien generéiert, e Checksum erstellt fir spéider Verifizéierung vun der Dateiintegritéit am Linux. Och wa Sécherheetsschwieregkeeten am MD5 Algorithmus festgestallt goufen, bleiwen MD5 Hashes nach ëmmer nëtzlech, besonnesch wann Dir d'Partei vertraut, déi se erstellt.
D'Verifizéierung vun Dateien ass dofir e wichtegen Aspekt vun der Dateihandhabung op Äre Systemer fir eroflueden, späicheren oder korrupte Dateien ze vermeiden. Lescht awer net zulescht, wéi gewinnt, erreechen eis duerch de Kommentarform hei ënnen fir Hëllef ze sichen, Dir kënnt och e puer wichteg Virschléi maachen fir dëse Post ze verbesseren.