Opi luomaan ja vahvistamaan tiedostoja MD5-tarkistussummalla Linuxissa


Tarkistussumma on numero, joka toimii tiedoissa olevien oikeiden numeroiden summana, jota voidaan myöhemmin käyttää tiedoissa olevien virheiden havaitsemiseen tallennuksen tai siirron aikana. MD5 (Message Digest 5) -summia voidaan käyttää tarkistussummana tiedostojen tai merkkijonojen vahvistamiseen Linux-tiedostojärjestelmässä.

MD5-summat ovat 128-bittisiä merkkijonoja (numeroita ja kirjaimia), jotka ovat seurausta suorittamalla MD5-algoritmi tiettyä tiedostoa vastaan. MD5-algoritmi on suosittu hash-funktio, joka luo 128-bittisen viestitiivisteen, jota kutsutaan hash-arvoksi, ja kun luot sellaisen tietylle tiedostolle, se pysyy täsmälleen muuttumattomana kaikilla koneilla riippumatta siitä, kuinka monta kertaa se luodaan.

Yleensä on erittäin vaikea löytää kahta erillistä tiedostoa, jotka johtavat samoihin merkkijonoihin. Siksi voit käyttää md5sum-komentoa digitaalisten tietojen eheyden tarkistamiseen määrittämällä, että lataamasi tiedosto tai ISO on bittiltä kopio etätiedostosta tai ISO:sta.

Suositeltu luku: Edistyminen – Seuraa (cp, mv, dd, tar jne.) komentojen edistymistä Linuxissa

Linuxissa md5sum-ohjelma laskee ja tarkistaa tiedoston MD5-hajautusarvot. Se on osa GNU Core Utilities -pakettia, joten se on esiasennettu useimpiin, ellei kaikkiin Linux-jakeluihin.

Katso alla olevaa tiedostoa /etc/group, joka on tallennettu nimellä 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

Alla oleva md5sums-komento luo tiedostolle hajautusarvon seuraavasti:

md5sum groups.csv

bc527343c7ffc103111f3a694b004e2f  groups.csv

Kun yrität muuttaa tiedoston sisältöä poistamalla ensimmäisen rivin root:x:0: ja suoritat sitten komennon toisen kerran, yritä tarkkailla hash-arvoa:

md5sum groups.csv

46798b5cfca45c46a84b7419f8b74735  groups.csv

Huomaat, että hash-arvo on nyt muuttunut, mikä osoittaa, että tiedoston sisältö on muuttunut.

Laita nyt takaisin tiedoston ensimmäinen rivi root:x:0: ja nimeä se uudelleen muotoon group_file.txt ja suorita alla oleva komento luodaksesi sen hash-arvon uudelleen:

md5sum groups_list.txt

bc527343c7ffc103111f3a694b004e2f  groups_list.txt

Yllä olevasta lähdöstä hajautusarvo on edelleen sama, vaikka tiedosto on nimetty uudelleen alkuperäisen sisällön kanssa.

Tärkeää: md5-summat vahvistaa/toimii vain tiedoston sisällön eikä tiedostonimen kanssa.

Tiedosto groups_list.txt on kopio tiedostosta groups.csv, joten yritä luoda tiedostoille hajautusarvo samaan aikaan seuraavasti.

Näet, että niillä molemmilla on samat hash-arvot, koska niillä on täsmälleen sama sisältö.

md5sum groups_list.txt  groups.csv 

bc527343c7ffc103111f3a694b004e2f  groups_list.txt
bc527343c7ffc103111f3a694b004e2f  groups.csv

Voit ohjata tiedoston (tiedostojen) hajautusarvot tekstitiedostoon ja tallentaa, jakaa ne muiden kanssa. Kahdelle yllä olevalle tiedostolle voit antaa alla olevan komennon ohjataksesi luodut hash-arvot tekstitiedostoon myöhempää käyttöä varten:

md5sum groups_list.txt  groups.csv > myfiles.md5

Voit tarkistaa, että tiedostoja ei ole muokattu tarkistussumman luomisen jälkeen, suorittamalla seuraava komento. Sinun pitäisi pystyä tarkastelemaan kunkin tiedoston nimeä ja OK.

Suositeltu luku: Etsi 15 suosituinta prosessia muistinkäytön mukaan Linuxissa

-c tai --check käskee md5sums-komentoa lukemaan MD5-summat tiedostoista ja tarkistamaan ne.

md5sum -c myfiles.md5

groups_list.txt: OK
groups.csv: OK

Muista, että tarkistussumman luomisen jälkeen et voi nimetä tiedostoja uudelleen tai saat virheilmoituksen Ei tällaista tiedostoa tai hakemistoa, kun yrität vahvistaa tiedostoja uusilla nimillä.

Esimerkiksi:

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

Konsepti toimii myös merkkijonojen kanssa, alla olevissa komennoissa -n tarkoittaa, että älä tulosta rivin lopussa olevaa rivinvaihtoa:

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

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

65136cb527bff5ed8615bd1959b0a248  -

Tässä oppaassa näytin sinulle, kuinka luodaan tiedostoille hajautusarvoja, luodaan tarkistussumma tiedostojen eheyden myöhempää tarkistamista varten Linuxissa. Vaikka MD5-algoritmin tietoturva-aukkoja on havaittu, MD5-tiivisteet ovat edelleen hyödyllisiä, varsinkin jos luotat ne luojaan.

Tiedostojen tarkistaminen on siksi tärkeä osa tiedostojen käsittelyä järjestelmissäsi, jotta vältetään vioittuneiden tiedostojen lataaminen, tallentaminen tai jakaminen. Viimeisenä mutta ei vähäisimpänä, kuten tavallista, ota meihin yhteyttä alla olevan kommenttilomakkeen avulla saadaksesi apua, voit myös tehdä tärkeitä ehdotuksia tämän viestin parantamiseksi.