Naučite kako generirati i provjeriti datoteke pomoću MD5 kontrolne sume u Linuxu


Kontrolni zbir je cifra koja služi kao zbir ispravnih cifara u podacima, koji se kasnije mogu koristiti za otkrivanje grešaka u podacima tokom skladištenja ili prijenosa. MD5 (Message Digest 5) sume se mogu koristiti kao kontrolni zbroj za provjeru datoteka ili nizova u Linux sistemu datoteka.

MD5 zbroji su 128-bitni nizovi znakova (brojevi i slova) koji su rezultat pokretanja MD5 algoritma na određenoj datoteci. MD5 algoritam je popularna hash funkcija koja generiše 128-bitni sažetak poruke koji se naziva hash vrijednost, a kada je generišete za određenu datoteku, ona je precizno nepromijenjena na bilo kojem stroju bez obzira na to koliko puta je generirana.

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 utvrđivanjem da je datoteka ili ISO koji ste preuzeli bit-po-bit kopija udaljene datoteke ili ISO-a.

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

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

U nastavku pogledajte sadržaj /etc/group sačuvan 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 izmijeniti sadržaj datoteke uklanjanjem prvog reda, root:x:0: i zatim pokrenuti naredbu po drugi put, pokušajte promatrati hash vrijednost:

md5sum groups.csv

46798b5cfca45c46a84b7419f8b74735  groups.csv

Primetićete da se heš vrednost sada promenila, što ukazuje da je sadržaj datoteke promenjen.

Sada vratite prvi red datoteke, root:x:0: i preimenujte je u group_file.txt i pokrenite naredbu ispod da ponovo generišete njenu hash vrijednost:

md5sum groups_list.txt

bc527343c7ffc103111f3a694b004e2f  groups_list.txt

Iz gornjeg izlaza, heš vrijednost je i dalje ista čak i kada je datoteka preimenovana, sa svojim originalnim sadržajem.

Važno: md5 sums samo provjerava/radi sa sadržajem datoteke, a ne sa imenom datoteke.

Datoteka groups_list.txt je duplikat groups.csv, tako da pokušajte generirati hash vrijednost datoteka u isto vrijeme kako slijedi.

Vidjet ćete da oba imaju jednake heš 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) fajla(ova) 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

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

Preporučeno čitanje: Pronađite top 15 procesa po korištenju memorije u Linuxu

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

md5sum -c myfiles.md5

groups_list.txt: OK
groups.csv: OK

Zapamtite da nakon kreiranja kontrolne sume ne možete preimenovati datoteke ili ćete u suprotnom dobiti greš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 i za nizove, u naredbama ispod, -n znači ne ispisivati zadnji novi red:

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, kreirati kontrolni zbroj za kasniju provjeru integriteta datoteke u Linuxu. Iako su otkrivene sigurnosne propuste u MD5 algoritmu, MD5 hashovi i dalje ostaju korisni, posebno ako vjerujete strani koja ih kreira.

Provjera datoteka je stoga važan aspekt rukovanja datotekama na vašim sistemima kako biste izbjegli preuzimanje, pohranjivanje ili dijeljenje oštećenih datoteka. Na kraju, ali ne i najmanje važno, kao i obično, obratite nam se putem obrasca za komentare ispod da biste zatražili bilo kakvu pomoć, a možete dati i neke važne prijedloge za poboljšanje ovog posta.