Uzziniet, kā ģenerēt un pārbaudīt failus, izmantojot MD5 kontrolsummu Linux


Kontrolsumma ir cipars, kas kalpo kā pareizu ciparu summa datos un ko vēlāk var izmantot, lai atklātu kļūdas datos glabāšanas vai pārsūtīšanas laikā. MD5 (Message Digest 5) summas var izmantot kā kontrolsummu, lai pārbaudītu failus vai virknes Linux failu sistēmā.

MD5 summas ir 128 bitu rakstzīmju virknes (cipari un burti), kas rodas, palaižot MD5 algoritmu pret konkrētu failu. MD5 algoritms ir populāra hash funkcija, kas ģenerē 128 bitu ziņojumu apkopojumu, kas tiek dēvēta par hash vērtību, un, ģenerējot to konkrētam failam, tas precīzi nemainās jebkurā datorā neatkarīgi no tā, cik reižu tas tiek ģenerēts.

Parasti ir ļoti grūti atrast divus atšķirīgus failus, kuru rezultātā ir vienādas virknes. Tādēļ, lai pārbaudītu digitālo datu integritāti, varat izmantot md5sum, nosakot, ka lejupielādētais fails vai ISO ir attālā faila vai ISO kopija bitiem par bitiem.

Linux operētājsistēmā md5sum aprēķina un pārbauda faila MD5 jaukšanas vērtības. Tā ir GNU Core Utilities pakotnes sastāvdaļa, tāpēc tā ir iepriekš instalēta lielākajā daļā, ja ne visos Linux izplatījumos.

Apskatiet zemāk esošo /etc/group saturu, kas saglabāts kā grupas.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

Zemāk esošā komanda md5sums ģenerēs faila jaukšanas vērtību šādi:

$ md5sum groups.csv

bc527343c7ffc103111f3a694b004e2f  groups.csv

Mēģinot mainīt faila saturu, noņemot pirmo rindu, root: x: 0: un pēc tam otro reizi palaidiet komandu, mēģiniet ievērot hash vērtību:

$ md5sum groups.csv

46798b5cfca45c46a84b7419f8b74735  groups.csv

Jūs ievērosiet, ka jaukšanas vērtība tagad ir mainījusies, norādot, ka faila saturs ir mainīts.

Tagad atlieciet faila pirmo rindu root: x: 0: un pārdēvējiet to par group_file.txt un palaidiet zemāk esošo komandu, lai vēlreiz ģenerētu tā hash vērtību:

$ md5sum groups_list.txt

bc527343c7ffc103111f3a694b004e2f  groups_list.txt

No iepriekš minētās izejas hash vērtība joprojām ir tāda pati, pat ja fails ir pārdēvēts, ar tā sākotnējo saturu.

Svarīgi: md5 summas verificē/darbojas tikai ar faila saturu, nevis ar faila nosaukumu.

Fails groups_list.txt ir grupas.csv dublikāts, tāpēc mēģiniet vienlaikus ģenerēt failu jaukšanas vērtību šādi.

Jūs redzēsiet, ka viņiem abiem ir vienādas jaukšanas vērtības, tas ir tāpēc, ka viņiem ir tieši tāds pats saturs.

$ md5sum groups_list.txt  groups.csv 

bc527343c7ffc103111f3a694b004e2f  groups_list.txt
bc527343c7ffc103111f3a694b004e2f  groups.csv

Jūs varat novirzīt faila (-u) jaukšanas vērtību (-as) teksta failā un saglabāt, koplietot tās ar citiem. Diviem iepriekš minētajiem failiem varat izdot tālāk norādīto komandu, lai novirzītu ģenerētās jaukšanas vērtības teksta failā vēlākai lietošanai:

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

Lai pārbaudītu, vai faili nav modificēti kopš kontrolsummas izveidošanas, palaidiet nākamo komandu. Jums vajadzētu būt iespējai apskatīt katra faila nosaukumu kopā ar “OK”.

Opcija -c vai --check liek komandai md5sums nolasīt MD5 summas no failiem un pārbaudīt tās.

$ md5sum -c myfiles.md5

groups_list.txt: OK
groups.csv: OK

Atcerieties, ka pēc kontrolsummas izveides jūs nevarat pārdēvēt failus, pretējā gadījumā, mēģinot pārbaudīt failus ar jauniem nosaukumiem, tiek parādīta kļūda “Nav šāda faila vai direktorija”.

Piemēram:

$ 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

Koncepcija darbojas arī līdzīgi virknēm, zemāk esošajās komandās -n nozīmē, ka neizdodas noslēdzošā jaunā rindiņa:

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

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

65136cb527bff5ed8615bd1959b0a248  -

Šajā ceļvedī es parādīju, kā ģenerēt failiem jaukšanas vērtības, izveidot kontrolsummu vēlākai faila integritātes pārbaudei Linux. Lai gan MD5 algoritmā ir atklātas drošības ievainojamības, MD5 jaucējkrāsa joprojām ir noderīga, it īpaši, ja uzticaties pusei, kas tās izveido.

Tāpēc failu pārbaude ir svarīgs failu apstrādes aspekts jūsu sistēmās, lai izvairītos no bojātu failu lejupielādes, glabāšanas vai koplietošanas. Visbeidzot, kā parasti, sazinieties ar mums, izmantojot zemāk esošo komentāru veidlapu, lai meklētu palīdzību, kā arī varat sniegt dažus svarīgus ieteikumus, lai uzlabotu šo ziņu.