Generar passwords en Linux
En varias ocasiones he tenido que generar contraseñas para un listado de usuarios en un archivo y los programas ‘pwgen‘ y ‘mkpasswd‘ para la consola de Linux han sido de gran ayuda.
Usando pwgen
En este ejemplo se generarán 5 constraseñas de 10 caracteres de longitud:
eocasio:$ pwgen -n -c 10 5
eazic3peiZ fooRoo5ili quaiFaofo5 mumieW5zae ohWew0EechLas opción ‘-n’ le indica a ‘pwgen’ que las contraseñas generadas tendrán por lo menos dos números y la opción ‘-c’ que por lo menos tendrán una letra mayúscula (’capital letter’).
Para presentar la lista de contraseñas en una ventana gráfica y no en la consola utilizo ‘zenity‘:
pwgen -n -c 10 100|zenity --text-info --title="Password Generator"Usando mkpasswd
Este ejemplo muestra cómo generar una contraseña de diez caracteres (’-l 10′), con un mínimo de 6 dígitos (’-d 6′), 2 letras minúsculas (’-c 2′), 2 letras mayúsculas (’-C 2′) y ningún símbolo especial (’-s 0′):
eocasio:$ mkpasswd -l 10 -d 6 -c 2 -C 2 -s 0
4Oh5N2482m
Si queremos símbolos especiales:
eocasio:$ mkpasswd -l 10 -d 4 -c 2 -C 2 -s 2
DH<(0ok431
Observaciones:
- Si omitimos cualquiera de las opciones ‘-c, -C, -d, -s’ el programa presumirá que se desea por lo menos un símbolo de ese tipo.
- Si especificamos la longitud de la contraseña con la opción ‘-l ‘ la suma del mínimo de cada caracter especificado debe ser por lo menos 10.
Noten que ‘mkpasswd’ solamente da una contraseña, no un listado como ‘pwgen’. Para generar una lista de contraseñas necesitamos ejecutar el programa dentro de un ciclo o ‘loop’. El siguiente código corresponde al lenguaje ‘bash’:
eocasio:$ for clave in $(seq 1 10);do mkpasswd -l 10 -d 6 -c 2 -C 2 -s 0;done
x1090cK37Q
215Hu5O28g
G16c749In0
777E10Pls6
TG55z33e60
37f06l03SX
5625DC84rt
Fyp4924L95
n1A4397Y0h
566nBT43r8
También podemos usar ‘zenity’ para presentar las contraseñas en una ventana:
for num in $(seq 1 10);do mkpasswd -l 10 -d 6 -c 2 -C 2 -s 0;done|zenity --text-info --title="Password Generator"
Más artículos como este en:
Algunos artículos relacionados:





Enero 25th, 2009 a las 11:37 pm
Q interesante es eso!
Enero 30th, 2009 a las 4:35 am
Nice sharing. I already send it to my friends.
Marzo 19th, 2009 a las 7:47 am
Mucha suerte con tu nuevo empleo!