HTPasswd es una herramienta que nos facilita la gestión de listas de usuarios y sus credenciales.
En este artículo veremos cómo crear listas de usuarios, actualizar, etc.
Fichero HTPasswd
Un fichero HTPasswd contiene n líneas. Cada linea representa un usuario y su contraseña, separados por el caracter :.
El nombre de usuario puede ser visualizado en claro, mientras que la contraseña se encontrará encriptada.
A continuación, podemos visualizar el ejemplo de un fichero que contiene dos usuarios: developer y tester. Sus contraseñas, serán dev12345 y test12345 respectivamente.
developer:$apr1$ukdXlwVY$/ghTjaQageNScb0KEwsKX1
tester:$apr1$vhnjzebZ$.emX47WYDASfh4M6Ue5Wv0
Cómo utilizar HTPasswd
HTPasswd ofrece muchas opciones de configuración, actualización, encriptación, etc. A continuación, podemos ver una tabla a modo de resumen de los principales comandos.
| Opción | Descripción |
|---|---|
| -c | Crea un fichero |
| -n | Solo muentra el resultado por pantalla, sin modificar el fichero |
| -b | Recibe la contraseña del usuario desde la línea de comandos (inseguro) |
| -B | Encripta la contraseña con bcrypt (recomendado) |
| -D | Elimina un usuario del fichero |
| -v | Verifica la contraseña de un usuario específico |
Nota: Por defecto, la contraseña es encriptada haciendo uso del algoritmo MD5. Este algoritmo es muy inseguro, por tanto se recomienda utilizar la opción
-B. Las opciones-2o-5encriptan haciendo uso deSHA-256ySHA-512respectivamente, siendo opciones seguras.
Ejemplo
Creación de un fichero
Creación de un fichero nuevo con el usuario developer
$ htpasswd -Bb -c htpasswd.file developer dev12345
Añadir un usuario
El siguiente ejemplo añade el usuario tester al fichero htpasswd.file.
We will add a new user to the below file:
$ htpasswd -Bb htpasswd.file tester test12345
Eliminación de usuario
En este ejemplo, eliminaremos el usuario que se añadió en el momento de la creación del fichero.
$ htpasswd -D htpasswd.file developer
Si vemos el contenido del fichero
$ cat htpasswd.file
tester:$2y$05$cBIhPEkbczcmNswTIXowqODge1b5HiXn/96n55iTpuK4Z1oS2UFOG
Referencias
- https://github.com/dbgjerez/ocp-HTPasswd-file-provider
- https://httpd.apache.org/docs/2.4/programs/htpasswd.html