viernes, 21 de enero de 2011

Crear listado de ficheros con su código md5


A continuación os muestro cómo calcular el código md5 de cada uno de los ficheros contenidos en un directorio (en este caso el directorio actual, .) y generar un fichero, llamado md5, con los nombres de los ficheros junto con su ćodigo md5:

Listado md5 con todos los ficheros excepto los ocultos

$ find . * ! -path "./*" ! -path "md5" ! -type d -exec md5sum '{}'>>md5 \;

Listado md5 con todos los ficheros incluídos los ocultos

$ find . * ! -path "./[^.]*"  ! -path "md5" ! -type d -exec md5sum '{}'>>md5 \;

Estos listados son muy útiles para distintos casos:

  • Junto con algunos ficheros colgados en Internet se nos ofrece su código md5. Al bajarlo podemos generar el código md5 de nuestra copia para saber si es idéntica o sufrió algún error en la descarga.
  • Podemos generar ficheros md5 de ciertos ficheros importantes de nuestras máquinas (fichero /etc/passwd, /etc/rc.local, etc) y comprobar de vez en cuando si dichos ficheros han sufrido algún cambio. Es una buena manera de detectar modificaciones no autorizadas en nuestros sistemas.
  • Se puede implementar un proceso de actualización para nuestras aplicaciones, tal que ante una nueva versión los clientes solo descarguen del servidor aquellos ficheros que cambiaron. Si un cliente genera el código md5 de sus ficheros y los comprueba contra los ficheros del servidor, sabrá qué ficheros descargarse. Esto disminuye el tiempo de actualización y el uso del ancho de banda de nuestras lineas de comunicaciones.