Introducción
Cuando descarga un archivo de Internet, es una buena práctica de seguridad verificar si recibió la versión original. Comparar las sumas de verificación que recibió del creador del archivo con las que obtiene al verificar el archivo usted mismo es una forma confiable de confirmar la integridad de su descarga.
El md5sum
El comando en Linux ayuda a crear, leer y verificar sumas de verificación de archivos.
En este tutorial, aprenderá a usar md5sum
comando para validar los archivos que recibe.
Requisitos previos
- Un sistema que ejecuta Linux
- Acceso a la línea de comando
El comando md5sum con ejemplos
Cuando se usa en un archivo sin ninguna opción, md5sum
El comando muestra el valor hash del archivo junto con el nombre del archivo. La sintaxis es:
md5sum [filename]
Después de obtener el valor hash, compárelo con el valor MD5 proporcionado por el creador del archivo.
Leer en modo binario
Para leer el archivo en modo binario, use -b
opción (--binary
):
md5sum -b [filename]
El *
carácter antes del nombre del archivo significa que md5sum
leerlo en modo binario.
Leer en modo texto
Usa el -t
opción (--text
) para leer el archivo en modo texto:
md5sum -t [filename]
El modo de texto es el modo predeterminado para leer archivos con md5sum
.
Crear una suma de comprobación al estilo BSD
Uso de la --tag
La opción genera el valor hash en el formato de estilo BSD:
md5sum --tag [filename]
Validar la suma de comprobación md5 con un archivo
Para comprobar un archivo comparando su valor hash con el valor proporcionado en un archivo hash, utilice -c
opción.
1. Como ejemplo, cree un archivo hash que contenga md5sum
salida:
md5sum [filename] > [file-containing-hashes]
2. Utilice la siguiente sintaxis para comparar el valor hash del archivo que creó con el valor hash actual de .txt
archivo:
md5sum -c [file-containing-hashes]
3. Si cambia el contenido del archivo y repite la verificación, se muestra un mensaje de advertencia:
Validar varios archivos
Usa el mismo md5sum -c
procedimiento para comprobar la integridad de varios archivos:
md5sum [filename1] [filename2] [filename3] > [file-containing-hashes]
En el siguiente ejemplo, el contenido de example2.txt
han cambiado, dando como resultado un mensaje de advertencia de md5sum
:
Mostrar solo archivos modificados
El --quiet
La opción muestra solo los archivos cuyo valor hash ha cambiado. Omite la salida de archivos validados.
md5sum --quiet -c [file-containing-hashes]
Generar estado solamente
El md5sum
comando con --status
La opción no produce ningún resultado pero devuelve 0
si no hay cambios y 1
si detecta cambios. Este argumento es útil para secuencias de comandos, donde no se necesita una salida estándar.
El siguiente script de ejemplo ilustra el uso de --status
opción:
#!/bin/bash
md5sum --status -c hashfile
Status=$?
echo "File check status is: $Status"
exit $Status
Cuando se ejecuta el script, muestra el estado 1
, lo que significa que md5sum
detectó el cambio realizado anteriormente en example2.txt
.
Comprobar líneas de suma de comprobación con formato incorrecto
Agregue el --strict
opción para salir distinto de cero para valores hash con formato incorrecto:
md5sum --strict -c [file-containing-hashes]
El ejemplo muestra la salida de md5sum --strict
cuando coloca caracteres no válidos en la primera línea del archivo que contiene hash:
Para mostrar qué línea tiene un hash no válido, use -w
(--warn
):
md5sum -w -c [file-containing-hashes]
El ejemplo anterior muestra el -w
opción que muestra que la línea de suma de comprobación MD5 con formato incorrecto es la línea 1 del archivo.
Omitir estado de informe de archivos perdidos
De forma predeterminada, md5sum
muestra advertencias sobre los archivos que no puede encontrar en el sistema. Para anular este comportamiento, use --ignore-missing
opción:
md5sum --ignore-missing -c [file-containing-hashes]
En el siguiente ejemplo, example1.txt
se eliminó antes de ejecutar md5sum
dominio. La salida ignora el archivo eliminado:
Mostrar información de ayuda y versión
Para obtener la ayuda oficial para md5sum
comando, escriba:
md5sum --help
Para comprobar md5sum versión, escriba:
md5sum --version