Opi luomaan ja tarkistamaan tiedostoja MD5-tarkistussummalla Linuxissa


Tarkistussumma on luku, joka toimii datan oikeiden numeroiden summana, jota voidaan käyttää myöhemmin havaitsemaan virheitä tiedoissa tallennuksen tai lähetyksen aikana. MD5 (Message Digest 5) -summia voidaan käyttää tarkistussummana tiedostojen tai merkkijonojen tarkistamiseksi Linux-tiedostojärjestelmässä.

MD5-summat ovat 128-bittisiä merkkijonoja (numeroita ja kirjaimia), jotka johtuvat MD5-algoritmin ajamisesta tiettyä tiedostoa vastaan. MD5-algoritmi on suosittu hash-toiminto, joka tuottaa 128-bittisen viestin tiivistelmän, jota kutsutaan hash-arvoksi, ja kun luot sellaisen tietylle tiedostolle, se ei muutu missään koneessa riippumatta siitä, kuinka monta kertaa se on luotu.

Normaalisti on hyvin vaikeaa löytää kaksi erillistä tiedostoa, jotka johtavat samoihin merkkijonoihin. Siksi voit tarkistaa md5sum-sovelluksen avulla digitaalisen datan eheyden määrittämällä, että lataamasi tiedosto tai ISO on kopio bitistä bittiä etätiedostosta tai ISO-tiedostosta.

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

Katso alla olevien ryhmien.cvs muodossa tallennetun /etc/group -sisällön sisältö.

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 komento md5sums luo tiedostolle hash-arvon seuraavasti:

$ md5sum groups.csv

bc527343c7ffc103111f3a694b004e2f  groups.csv

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

$ md5sum groups.csv

46798b5cfca45c46a84b7419f8b74735  groups.csv

Huomaat, että hajautusarvo on nyt muuttunut, mikä osoittaa, että tiedoston sisältö on muuttunut.

Laita nyt takaisin tiedoston ensimmäinen rivi, root: x: 0: , nimeä se uudelleen group_file.txt-tiedostoon ja suorita alla oleva komento luodaksesi 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önsä kanssa.

Tärkeää: md5 summat tarkistaa/toimii vain tiedoston sisällön kanssa eikä tiedoston nimen kanssa.

Tiedosto groups_list.txt on duplikaatti ryhmistä.csv, joten yritä luoda tiedostojen hajautusarvo samanaikaisesti seuraavasti.

Näet, että molemmilla on samanlaiset hajautusarvot, koska heillä on täsmälleen sama sisältö.

$ md5sum groups_list.txt  groups.csv 

bc527343c7ffc103111f3a694b004e2f  groups_list.txt
bc527343c7ffc103111f3a694b004e2f  groups.csv

Voit ohjata tiedostojen hajautusarvot tekstitiedostoon ja tallentaa, jakaa ne muiden kanssa. Voit antaa yllä oleville kahdelle tiedostolle alla olevan komennon uudelleenohjata tuotetut hajautusarvot tekstitiedostoon myöhempää käyttöä varten:

$ md5sum groups_list.txt  groups.csv > myfiles.md5

Suorita seuraava komento ja tarkista, että tiedostoja ei ole muokattu tarkistussumman luomisen jälkeen. Sinun pitäisi pystyä tarkastelemaan kunkin tiedoston nimeä ja “OK”.

Vaihtoehto -c tai --check käskee md5sums-komennon 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 muuten saat virheilmoituksen "Ei sellaista 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

Käsite toimii myös merkkijonojen kohdalla, alla olevissa komennoissa -n tarkoittaa, että älä anna uutta riviä:

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

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

65136cb527bff5ed8615bd1959b0a248  -

Tässä oppaassa esitin sinulle, kuinka luoda tiedostoille hash-arvoja, luoda tarkistussumma tiedostojen eheyden myöhempää tarkistamista varten Linuxissa. Vaikka MD5-algoritmin tietoturva-aukkoja on havaittu, MD5-hajautukset ovat silti hyödyllisiä, varsinkin jos luotat niiden luoneeseen osapuoleen.

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