Apreneu a generar i verificar fitxers amb MD5 Checksum a Linux
Una suma de comprovació és un dígit que serveix com a suma de dígits correctes de les dades, que es pot utilitzar posteriorment per detectar errors en les dades durant l'emmagatzematge o la transmissió. Les sumes MD5 (Message Digest 5) es poden utilitzar com a suma de comprovació per verificar fitxers o cadenes en un sistema de fitxers Linux.
Les sumes MD5 són cadenes de caràcters de 128 bits (números i lletres) resultants de l'execució de l'algorisme MD5 amb un fitxer específic. L'algorisme MD5 és una funció hash popular que genera un resum de missatges de 128 bits anomenat valor hash, i quan en genereu un per a un fitxer en concret, no es modifica precisament a qualsevol màquina, independentment del nombre de vegades que es generi.
Normalment és molt difícil trobar dos fitxers diferents que donen lloc a les mateixes cadenes. Per tant, podeu utilitzar md5sum per comprovar la integritat de les dades digitals determinant que un fitxer o ISO que heu baixat és una còpia bit per bit del fitxer remot o ISO.
A Linux, el programa md5sum calcula i verifica els valors hash MD5 d'un fitxer. És un component del paquet GNU Core Utilities, per tant, ve preinstal·lat a la majoria, si no a totes les distribucions de Linux.
Fes una ullada al contingut de /etc/group
desat com a groups.cvs a continuació.
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
L'ordre md5sums següent generarà un valor hash per al fitxer de la manera següent:
$ md5sum groups.csv bc527343c7ffc103111f3a694b004e2f groups.csv
Quan intenteu alterar el contingut del fitxer eliminant la primera línia, root:x:0:
i, a continuació, executeu l'ordre per segona vegada, proveu d'observar el valor hash:
$ md5sum groups.csv 46798b5cfca45c46a84b7419f8b74735 groups.csv
Notareu que el valor hash ara ha canviat, cosa que indica que el contingut del fitxer s'ha modificat.
Ara, torneu a col·locar la primera línia del fitxer, root:x:0:
i canvieu-ne el nom a group_file.txt i executeu l'ordre següent per tornar a generar el seu valor hash:
$ md5sum groups_list.txt bc527343c7ffc103111f3a694b004e2f groups_list.txt
A partir de la sortida anterior, el valor hash segueix sent el mateix fins i tot quan s'ha canviat el nom del fitxer, amb el seu contingut original.
Important: md5 sums només verifica/funciona amb el contingut del fitxer en lloc del nom del fitxer.
El fitxer groups_list.txt és un duplicat de groups.csv, per tant, intenteu generar el valor hash dels fitxers alhora de la següent manera.
Veureu que tots dos tenen valors hash iguals, això és perquè tenen exactament el mateix contingut.
$ md5sum groups_list.txt groups.csv bc527343c7ffc103111f3a694b004e2f groups_list.txt bc527343c7ffc103111f3a694b004e2f groups.csv
Podeu redirigir els valors hash d'un fitxer o fitxers a un fitxer de text i emmagatzemar-los, compartir-los amb altres persones. Per als dos fitxers anteriors, podeu emetre l'ordre següent per redirigir els valors hash generats a un fitxer de text per al seu ús posterior:
$ md5sum groups_list.txt groups.csv > myfiles.md5
Per comprovar que els fitxers no s'han modificat des que vau crear la suma de comprovació, executeu l'ordre següent. Hauríeu de poder veure el nom de cada fitxer juntament amb \D'acord.
L'opció -c
o --check
diu a l'ordre md5sums que llegeixi les sumes MD5 dels fitxers i les comproveu.
$ md5sum -c myfiles.md5 groups_list.txt: OK groups.csv: OK
Recordeu que després de crear la suma de comprovació, no podeu canviar el nom dels fitxers o, en cas contrari, obteniu un error \No hi ha aquest fitxer o directori, quan intenteu verificar els fitxers amb noms nous.
Per exemple:
$ 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
El concepte també funciona per a les cadenes de la mateixa manera, a les ordres següents, -n
significa que no emet la nova línia final:
$ echo -n "Tecmint How-Tos" | md5sum - afc7cb02baab440a6e64de1a5b0d0f1b -
$ echo -n "Tecmint How-To" | md5sum - 65136cb527bff5ed8615bd1959b0a248 -
En aquesta guia, us vaig mostrar com generar valors hash per a fitxers, crear una suma de verificació per a una verificació posterior de la integritat dels fitxers a Linux. Tot i que s'han detectat vulnerabilitats de seguretat a l'algoritme MD5, els hash MD5 segueixen sent útils, sobretot si confieu en la part que els crea.
Per tant, verificar els fitxers és un aspecte important de la gestió de fitxers als vostres sistemes per evitar la descàrrega, l'emmagatzematge o la compartició de fitxers danyats. Finalment, però no menys important, com és habitual, poseu-vos en contacte amb nosaltres mitjançant el formulari de comentaris que trobareu a continuació per demanar ajuda, també podeu fer alguns suggeriments importants per millorar aquesta publicació.