Naučite kako generirati i provjeriti datoteke s MD5 kontrolnim zbrojem u Linuxu


Kontrolni zbroj je znamenka koja služi kao zbroj točnih znamenki u podacima, koji se kasnije mogu koristiti za otkrivanje grešaka u podacima tijekom pohrane ili prijenosa. Zbrojevi MD5 (Message Digest 5) mogu se koristiti kao kontrolni zbroji za provjeru datoteka ili nizova u sustavu datoteka Linuxa.

MD5 zbrojevi su 128-bitni znakovni nizovi (brojevi i slova) koji nastaju pokretanjem MD5 algoritma za određenu datoteku. MD5 algoritam popularna je hash funkcija koja generira 128-bitni sažetak poruke koji se naziva hash vrijednost, a kada ga generirate za određenu datoteku, on ostaje nepromijenjen na bilo kojem računalu bez obzira na to koliko puta je generiran.

Obično je vrlo teško pronaći dvije različite datoteke koje rezultiraju istim nizovima. Stoga možete koristiti md5sum za provjeru integriteta digitalnih podataka tako što ćete utvrditi da je datoteka ili ISO koju ste preuzeli bit-po-bit kopija udaljene datoteke ili ISO-a.

Predloženo za čitanje: Napredak – Pratite napredak za (cp, mv, dd, tar, itd.) naredbe u Linuxu

U Linuxu program md5sum izračunava i provjerava MD5 hash vrijednosti datoteke. Sastavni je dio paketa GNU Core Utilities, stoga dolazi unaprijed instaliran na većini, ako ne i svim distribucijama Linuxa.

U nastavku pogledajte sadržaj /etc/group spremljen kao groups.cvs.

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

Naredba md5sums u nastavku će generirati hash vrijednost za datoteku na sljedeći način:

md5sum groups.csv

bc527343c7ffc103111f3a694b004e2f  groups.csv

Kada pokušate promijeniti sadržaj datoteke uklanjanjem prvog retka, root:x:0: i zatim pokrenete naredbu po drugi put, pokušajte promatrati hash vrijednost:

md5sum groups.csv

46798b5cfca45c46a84b7419f8b74735  groups.csv

Primijetit ćete da se hash vrijednost sada promijenila, što znači da je sadržaj datoteke promijenjen.

Sada vratite prvi redak datoteke, root:x:0: i preimenujte je u group_file.txt i pokrenite naredbu u nastavku da ponovno generirate njezinu hash vrijednost:

md5sum groups_list.txt

bc527343c7ffc103111f3a694b004e2f  groups_list.txt

Iz gornjeg izlaza, hash vrijednost je i dalje ista čak i kada je datoteka preimenovana, s izvornim sadržajem.

Važno: md5 sume provjerava/radi samo sa sadržajem datoteke, a ne s nazivom datoteke.

Datoteka groups_list.txt je duplikat groups.csv, pa pokušajte generirati hash vrijednost datoteka u isto vrijeme na sljedeći način.

Vidjet ćete da oba imaju jednake hash vrijednosti, to je zato što imaju potpuno isti sadržaj.

md5sum groups_list.txt  groups.csv 

bc527343c7ffc103111f3a694b004e2f  groups_list.txt
bc527343c7ffc103111f3a694b004e2f  groups.csv

Možete preusmjeriti hash vrijednost(e) datoteke(a) u tekstualnu datoteku i pohraniti ih, podijeliti ih s drugima. Za gornje dvije datoteke možete izdati naredbu u nastavku za preusmjeravanje generiranih hash vrijednosti u tekstualnu datoteku za kasniju upotrebu:

md5sum groups_list.txt  groups.csv > myfiles.md5

Kako biste provjerili da datoteke nisu izmijenjene otkako ste stvorili kontrolni zbroj, pokrenite sljedeću naredbu. Trebali biste moći vidjeti naziv svake datoteke zajedno s “OK”.

Preporučeno za čitanje: Pronađite 15 najboljih procesa po upotrebi memorije u Linuxu

Opcija -c ili --check govori naredbi md5sums da pročita MD5 zbrojeve iz datoteka i provjeri ih.

md5sum -c myfiles.md5

groups_list.txt: OK
groups.csv: OK

Imajte na umu da nakon stvaranja kontrolnog zbroja ne možete preimenovati datoteke ili ćete dobiti pogrešku "Nema takve datoteke ili direktorija " kada pokušate provjeriti datoteke s novim imenima.

Na primjer:

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

Koncept također funkcionira za nizove podjednako, u naredbama ispod, -n znači da se ne ispisuje novi red na kraju:

echo -n "Tecmint How-Tos" | md5sum - 

afc7cb02baab440a6e64de1a5b0d0f1b  -
echo -n "Tecmint How-To" | md5sum - 

65136cb527bff5ed8615bd1959b0a248  -

U ovom vodiču sam vam pokazao kako generirati hash vrijednosti za datoteke, stvoriti kontrolni zbroj za kasniju provjeru integriteta datoteke u Linuxu. Iako su otkrivene sigurnosne ranjivosti u MD5 algoritmu, MD5 hashovi i dalje ostaju korisni, posebno ako vjerujete osobi koja ih stvara.

Provjera datoteka je stoga važan aspekt rukovanja datotekama na vašim sustavima kako bi se izbjeglo preuzimanje, pohranjivanje ili dijeljenje oštećenih datoteka. Na kraju, ali ne manje važno, kao i obično, obratite nam se putem obrasca za komentare u nastavku da biste zatražili bilo kakvu pomoć, također možete dati neke važne prijedloge za poboljšanje ove objave.