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.