Sužinokite, kaip generuoti ir patikrinti failus naudojant MD5 kontrolinę sumą sistemoje Linux


Kontrolinė suma yra skaitmuo, naudojamas kaip teisingų duomenų skaitmenų suma, kurią vėliau galima naudoti norint aptikti duomenų klaidas saugojimo ar perdavimo metu. MD5 (Message Digest 5) sumos gali būti naudojamos kaip kontrolinė suma, norint patikrinti failus ar eilutes Linux failų sistemoje.

MD5 sumos yra 128 bitų simbolių eilutės (skaitmenys ir raidės), atsirandančios vykdant MD5 algoritmą konkrečiame faile. MD5 algoritmas yra populiari maišos funkcija, kuri generuoja 128 bitų pranešimų santrauką, vadinamą maišos verte, o kai sugeneruojate ją konkrečiam failui, jis tiksliai nepakeičiamas bet kuriame kompiuteryje, nesvarbu, kiek kartų jis sugeneruotas.

Paprastai labai sunku rasti du skirtingus failus, kurių rezultatas būtų tos pačios eilutės. Todėl galite naudoti md5sum, kad patikrintumėte skaitmeninių duomenų vientisumą, nustatydami, kad atsisiųstas failas arba ISO yra nuotolinio failo arba ISO kopija bitais už bitą.

Siūlomas skaitymas: eiga – stebėti (cp, mv, dd, tar ir kt.) komandų eigą sistemoje Linux

Linux sistemoje programa md5sum apskaičiuoja ir tikrina failo MD5 maišos reikšmes. Tai yra GNU Core Utilities paketo sudedamoji dalis, todėl yra iš anksto įdiegta daugelyje, jei ne visuose Linux platinimuose.

Toliau pažiūrėkite į /etc/group turinį, išsaugotą kaip 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

Toliau pateikta komanda md5sums sugeneruos failo maišos vertę, kaip nurodyta toliau:

md5sum groups.csv

bc527343c7ffc103111f3a694b004e2f  groups.csv

Kai bandote pakeisti failo turinį pašalindami pirmąją eilutę root:x:0: ir paleiskite komandą antrą kartą, pabandykite stebėti maišos reikšmę:

md5sum groups.csv

46798b5cfca45c46a84b7419f8b74735  groups.csv

Pastebėsite, kad maišos reikšmė dabar pasikeitė, o tai rodo, kad failo turinys pasikeitė.

Dabar grąžinkite pirmąją failo eilutę root:x:0: ir pervardykite ją į group_file.txt ir paleiskite toliau pateiktą komandą, kad vėl sugeneruotumėte maišos reikšmę:

md5sum groups_list.txt

bc527343c7ffc103111f3a694b004e2f  groups_list.txt

Iš anksčiau pateiktos išvesties maišos reikšmė išlieka ta pati, net jei failas buvo pervardytas su pradiniu turiniu.

Svarbu: md5 sumos patvirtina/veikia tik su failo turiniu, o ne su failo pavadinimu.

Failas groups_list.txt yra groups.csv dublikatas, todėl pabandykite tuo pačiu metu sugeneruoti failų maišos reikšmę, kaip nurodyta toliau.

Pamatysite, kad jie abu turi vienodas maišos vertes, nes jų turinys yra visiškai toks pat.

md5sum groups_list.txt  groups.csv 

bc527343c7ffc103111f3a694b004e2f  groups_list.txt
bc527343c7ffc103111f3a694b004e2f  groups.csv

Failo (-ų) maišos reikšmę (-es) galite nukreipti į tekstinį failą ir saugoti, bendrinti su kitais. Dviejų aukščiau pateiktų failų atveju galite pateikti toliau pateiktą komandą, kad sugeneruotos maišos reikšmės būtų nukreiptos į tekstinį failą, kad galėtumėte naudoti vėliau:

md5sum groups_list.txt  groups.csv > myfiles.md5

Norėdami patikrinti, ar failai nebuvo pakeisti nuo tada, kai sukūrėte kontrolinę sumą, paleiskite kitą komandą. Turėtumėte matyti kiekvieno failo pavadinimą kartu su Gerai.

Siūlomas skaitymas: Raskite 15 populiariausių procesų pagal atminties naudojimą sistemoje Linux

Parinktis -c arba --check nurodo komandai md5sums nuskaityti MD5 sumas iš failų ir jas patikrinti.

md5sum -c myfiles.md5

groups_list.txt: OK
groups.csv: OK

Atminkite, kad sukūrę kontrolinę sumą, negalėsite pervardyti failų, kitaip gausite klaidą „Nėra tokio failo ar katalogo“, kai bandysite patvirtinti failus naujais pavadinimais.

Pavyzdžiui:

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

Ši koncepcija taip pat tinka ir eilutėms, toliau pateiktose komandose -n reiškia, kad neišvesti galimos naujos eilutės:

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

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

65136cb527bff5ed8615bd1959b0a248  -

Šiame vadove parodžiau, kaip generuoti failų maišos reikšmes, sukurti kontrolinę sumą, kad vėliau būtų galima patikrinti failo vientisumą sistemoje Linux. Nors buvo aptikta MD5 algoritmo saugumo spragų, MD5 maišos vis tiek yra naudingos, ypač jei pasitikite jas sukuriančia šalimi.

Todėl failų tikrinimas yra svarbus failų tvarkymo jūsų sistemose aspektas, siekiant išvengti sugadintų failų atsisiuntimo, saugojimo ar bendrinimo. Paskutinis, bet ne mažiau svarbus dalykas, kaip įprasta, susisiekite su mumis naudodami toliau pateiktą komentarų formą, kad gautumėte pagalbos, taip pat galite pateikti keletą svarbių pasiūlymų, kaip patobulinti šį įrašą.