Naučite se ustvariti in preveriti datoteke s kontrolno vsoto MD5 v Linuxu
Kontrolna vsota je številka, ki služi kot vsota pravilnih številk v podatkih, ki se lahko pozneje uporabijo za odkrivanje napak v podatkih med shranjevanjem ali prenosom. Vsote MD5 (Povzetek sporočil 5) se lahko uporabijo kot kontrolna vsota za preverjanje datotek ali nizov v datotečnem sistemu Linux.
Vsote MD5 so 128-bitni znakovni nizi (številke in črke), ki so rezultat izvajanja algoritma MD5 proti določeni datoteki. Algoritem MD5 je priljubljena zgoščevalna funkcija, ki generira 128-bitni povzetek sporočila, imenovan razpršena vrednost, in ko ga ustvarite za določeno datoteko, je natančno nespremenjen na katerem koli računalniku, ne glede na to, kolikokrat je ustvarjen.
Običajno je zelo težko najti dve ločeni datoteki, ki imata iste nize. Zato lahko z md5sum preverite celovitost digitalnih podatkov, tako da ugotovite, ali je datoteka ali ISO, ki ste ga prenesli, bitna kopija oddaljene datoteke ali ISO.
V Linuxu program md5sum izračuna in preveri zgoščene vrednosti MD5 datoteke. Je sestavni del paketa GNU Core Utilities, zato je vnaprej nameščen v večini, če ne v vseh distribucijah Linuxa.
Spodaj si oglejte vsebino /etc/group
, shranjene kot 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
Spodnji ukaz md5sums bo za datoteko ustvaril zgoščeno vrednost, kot sledi:
$ md5sum groups.csv bc527343c7ffc103111f3a694b004e2f groups.csv
Ko poskušate spremeniti vsebino datoteke tako, da odstranite prvo vrstico, root: x: 0:
in nato drugič zaženete ukaz, poskusite upoštevati zgoščeno vrednost:
$ md5sum groups.csv 46798b5cfca45c46a84b7419f8b74735 groups.csv
Opazili boste, da se je vrednost zgoščene vrednosti spremenila, kar pomeni, da je bila vsebina datoteke spremenjena.
Zdaj vrnite prvo vrstico datoteke root: x: 0:
in jo preimenujte v group_file.txt in zaženite spodnji ukaz, da znova ustvarite njeno zgoščeno vrednost:
$ md5sum groups_list.txt bc527343c7ffc103111f3a694b004e2f groups_list.txt
Iz zgornjega izhoda je zgoščena vrednost še vedno enaka, tudi če je bila datoteka preimenovana z izvirno vsebino.
Pomembno: zneski md5 samo preverjajo/delujejo z vsebino datoteke in ne z imenom datoteke.
Datoteka groups_list.txt je dvojnik groups.csv, zato poskusite hkrati ustvariti zgoščeno vrednost datotek, kot sledi.
Videli boste, da imata oba enake hash vrednosti, ker imata popolnoma enako vsebino.
$ md5sum groups_list.txt groups.csv bc527343c7ffc103111f3a694b004e2f groups_list.txt bc527343c7ffc103111f3a694b004e2f groups.csv
Razpršene vrednosti datotek lahko preusmerite v besedilno datoteko in jih shranite ter delite z drugimi. Za zgornji datoteki lahko izdate spodnji ukaz za preusmeritev ustvarjenih zgoščenih vrednosti v besedilno datoteko za poznejšo uporabo:
$ md5sum groups_list.txt groups.csv > myfiles.md5
Če želite preveriti, ali datoteke niso bile spremenjene, odkar ste ustvarili kontrolno vsoto, zaženite naslednji ukaz. Ime vsake datoteke bi si morali ogledati skupaj z "V redu".
Možnost -c
ali --check
pove md5sums ukazu, naj iz datotek prebere vsote MD5 in jih preveri.
$ md5sum -c myfiles.md5 groups_list.txt: OK groups.csv: OK
Ne pozabite, da po ustvarjanju kontrolne vsote datotek ne morete preimenovati ali pa se pri poskusu preverjanja datotek z novimi imeni prikaže napaka\"Ni take datoteke ali imenika \".
Na primer:
$ 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 deluje tudi za nize, v spodnjih ukazih -n
pomeni, da ne izpišejo zaključne nove vrstice:
$ echo -n "Tecmint How-Tos" | md5sum - afc7cb02baab440a6e64de1a5b0d0f1b -
$ echo -n "Tecmint How-To" | md5sum - 65136cb527bff5ed8615bd1959b0a248 -
V tem priročniku sem vam pokazal, kako ustvariti zgoščene vrednosti za datoteke, ustvariti kontrolno vsoto za poznejše preverjanje celovitosti datotek v Linuxu. Čeprav so bile v algoritmu MD5 zaznane varnostne ranljivosti, še vedno ostajajo uporabne zgoščenke MD5 koristne, zlasti če zaupate osebi, ki jih ustvari.
Preverjanje datotek je zato pomemben vidik obdelave datotek v vaših sistemih, da se izognete prenosu, shranjevanju ali skupni rabi poškodovanih datotek. Nenazadnje, kot ponavadi nas pokličete s pomočjo obrazca za komentar spodaj, če želite poiskati kakršno koli pomoč, lahko tudi podate nekaj pomembnih predlogov za izboljšanje te objave.