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.