¿Requieres de una instalación o configuración de Linux o sus servicios?
¿Un desarrollo WEB empresarial a la medida?
¿Un curso o capacitación a la medida?
Revisa el sitio de SERVICIOS de LinuxTotal


Creando contraseñas (passwords) con mkpasswd 

Copyright © 2005-2018 LinuxTotal.com.mx
Se concede permiso para copiar, distribuir y/o modificar este documento siempre y cuando se cite al autor y la fuente de linuxtotal.com.mx y según los términos de la GNU Free Documentation License, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation.

Autor: Sergio González D.  

Una buena contraseña o password, todos lo sabemos, es esencial para dificultar la entrada a nuestro sistema, sobre todo si se es root. Por "buena contraseña", se entiende que debe incluir mayúsculas, minúsculas, números, símbolos y no ser menor a unos 14 o 15 caracteres. Pero por nuestra naturaleza humana, cuando uno mismo la define, tendemos a crear patrones no muy aleatoreos y contraseñas de no más de 10 caracteres.

Con mkpasswd, es posible controlar la forma en que deseamos generar contraseñas, que serán, si, difíciles de recordar pero extremadamente seguras. (A mayor seguridad menor facilidad de uso.)

#> mkpasswd
1zi7MP*av

mkpasswd sin argumentos nos devuelve una cadena de 9 caracteres, es el default. ¿No es suficiente?, tan solo aumentamos el largo de la misma con la opción :

#> mkpasswd -l 16
xeGcf39qtttHo@nf

Puedes aumentar o disminuir la densidad de mayúsculas, minúsculas, dígitos y símbolos especiales, en el password a través de las siguientes opciones:

  • -d # -mínima cantidad de digitos
  • -c # -mínima cantidad de minúsculas
  • -C # -mínima cantidad de mayúsculas
  • -s # -mínima cantidad de símbolos (%$"#/()@, etc)

Asi por ejemplo:

#> mkpasswd -l 18 -d 5 -c 5 -C 5 -s 3
K17?fS9lD8/hib5OX@

Como el largo es 18, y la suma de lo que se pide es 18 también, nos devuelve la cantidad exacta de cada tipo de caracteres. Si con los mismos valores, pero con un largo de 22, entonces la densidad de caracteres de unos y otros puede variar, pero dejando mínimo los que se indican:

#> mkpasswd -l 22 -d 5 -c 5 -C 5 -s 3
1tHZ2"43B3rj|dWHp/qynn

Con mkpasswd es posible también asignar contraseñas a usuarios del sistema, tan solo indicamos el nombre del usuario como última opción, y añadimos la opción , para ver la salida a pantalla:

#> mkpasswd -l 7 -v ana 
spawn passwd ana
Changing password for user ana.
Nueva UNIX contraseña:
Vuelva a escribir la nueva UNIX contraseña:password for ana is 6ugZ*0O

Todo lo hizo el comando, y al final nos regresa la contraseña '6ugZ*0O' para el usuario 'ana'. Ahora solo bastará mandársela via email o notificarla por otro medio al usuario respectivo.

Por último, supongamos que deseas generar 10 contraseñas, un pequeño shell script lo hace:

#!/bin/bash
for a in 1 2 3 4 5 6 7 8 9 10
do
  mkpasswd -l 12 -s 0
done


#> chmod 700 pass.sh
#> ./pass.sh
CesRkw87npny
dfncEne02ntZ
Ziejwa8je5yF
36onjsxchtGE
f5lgmlhq8qFM
1yyjv0EfxxaK
7gtcikixdOA7
n4ZEwgmu0xlx
7EuthyG0csvj
l4rkhL8vieTx

Genera 10 contraseñas de 12 caracteres de largo sin símbolos, pero que sucede si necesitas, tal vez cientos de contraseñas, entonces, mejoramos el script con un poco de csh:

LIMITE=100

for ((a=1; a <= LIMITE ; a++))  # doble paréntesis y LIMITE sin $, sintaxis en C
do
  mkpasswd -l 10
done
#> ./pass.sh
sKt\4xEqa9
Ewn8s+4Hkr
t:nm28TqjO
ypt7BA3oh$
...
96 más

Ahora puedes copiarlas a una hoja de cálculo donde podrás anexarla a tus usuarios y generar correos, o usando un poco de grep y sed, combinarlos con /etc/passwd, etc. Las posibilidades son demasiadas. Espero te sea de utilidad esta pequeña gran utilidad.



¿Requieres de una instalación o configuración de Linux o sus servicios?
¿Un desarrollo WEB empresarial a la medida?
¿Un curso o capacitación a la medida?
Revisa el sitio de SERVICIOS de LinuxTotal

LinuxTotal en:

Si encuentras útil la información que proveé LinuxTotal, considera realizar un donativo que estimule a seguir proporcionando contenido de calidad y utilidad. Gracias.


Dona a través de paypal::


O a través de bitcoins:


14TNQv5wM3xkSv65gHGQ6s6f8yTZuFTohE
Más artículos de LinuxTotal

Ya son varios los lectores que me preguntan que CMS (content management system) utilizo para este sitio. Ejemplos de CMS son mambo....


Este es un pequeño y útil tip que te permitirá crear PDF's a partir de páginas del manual. Cuando deseas ver la ayuda de un co....


En el artículo de LinuxTotal.com.mx sobre permisos se explica lo que es un archivo con permisos SUID o SGID, pueden ser potencial....


En Linux hay diversas herramientas para empaquetar y comprimir archivos, tomando en cuenta que empaquetar es juntar dos o más arc....


Sistemas basados en GNU/Linux (Al igual que sus parientes basados en Unix como BSD o los de Macinstosh) conservan la tradición de....


Imaginémonos a la empresa "Pato, S.A." que ofrece a sus empleados y clientes el sitio http://www.pato.com/consulta, donde mediant....


¿Olvidaste o perdiste la contraseña del usuario 'root' de MySQL?, no hay problema, solo sigue estás sencillas instrucciones y p....


Ya no es nada raro que un centro de cómputo o en un site se encuentren varios sistemas Linux actuando como servidores de archivos....


awk o la versión GNU gawk es más que un simple comando de procesamiento de patrones, es todo un lenguaje de análisis semántico....


En ambientes donde varios usuarios usan uno o más sistemas GNU/Linux, es necesario otorgar distintos permisos o privilegios para ....



Copyright © LinuxTotal.com.mx 2006-2018
info@linuxtotal.com.mx · linuxtotal.com.mx@gmail.com