Bash script para Generar Passwords en tres Niveles
Primer script
Este script permite al usuario elegir los niveles de seguridad que desea utilizar para generar una contraseña segura. El usuario ingresa los niveles que desea utilizar como una cadena de números (por ejemplo, “123” para usar los tres niveles). Luego, el script utiliza un bucle for
para iterar sobre los niveles seleccionados y generar la contraseña segura.
Thank you for reading this post, don't forget to subscribe!
En cada nivel, se utiliza un enfoque similar al script anterior para generar una cadena aleatoria de caracteres seguros utilizando el comando openssl rand -base64
. Luego, se aplican transformaciones a la cadena generada para agregar letras mayúsculas, números y caracteres especiales, según el nivel seleccionado.
Es importante tener en cuenta que este script también es solo una de las muchas formas de generar contraseñas seguras en bash, y que la seguridad de la contraseña generada dependerá de la calidad de los niveles de seguridad elegidos.
#!/bin/bash
# Generar un password seguro con tres niveles de seguridad personalizables
# Pedir al usuario que elija los niveles de seguridad
echo "Elija los niveles de seguridad:"
echo "1) Caracteres alfanuméricos (8 caracteres)"
echo "2) Caracteres alfanuméricos y letras mayúsculas (12 caracteres)"
echo "3) Caracteres alfanuméricos, letras mayúsculas y caracteres especiales (16 caracteres)"
read -p "Escriba los niveles que desea usar (por ejemplo, 123): " niveles
# Inicializar el password
password=""
# Generar un password seguro según los niveles elegidos
for nivel in $(echo $niveles | fold -w1); do
case $nivel in
1)
# Nivel 1: Generar una cadena aleatoria de 8 caracteres
password1=$(openssl rand -base64 8 | tr -d '\n' | tr -d '\r')
password="${password}${password1}"
;;
2)
# Nivel 2: Agregar letras mayúsculas a la cadena generada en el nivel 1
password2=$(echo $password1 | sed 's/[[:digit:]]//' | sed 's/[[:punct:]]//' | tr '[:lower:]' '[:upper:]' | openssl rand -base64 4 | tr -d '\n' | tr -d '\r')
password="${password}${password2}"
;;
3)
# Nivel 3: Agregar caracteres especiales a la cadena generada en el nivel 2
password3=$(echo $password2 | sed 's/[[:upper:]]//' | tr -dc '!@#$%^&*()_+-=:;{}[],.<>?/0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' | openssl rand -base64 4 | tr -d '\n' | tr -d '\r')
password="${password}${password3}"
;;
*)
echo "El nivel $nivel no es válido."
exit 1
;;
esac
done
# Imprimir el password generado
echo "Password seguro: $password"
Aquí dejamos un segundo script
Aquí hay un script de bash que genera frases de contraseña aleatorias en tres niveles de seguridad, donde cada nivel tiene un conjunto diferente de caracteres posibles (minúsculas, mayúsculas y caracteres especiales) y se utilizan técnicas diferentes para aumentar la seguridad de la contraseña:
#!/bin/bash # Establecer los caracteres posibles para cada nivel de seguridad level1="abcdefghijklmnopqrstuvwxyz" level2="ABCDEFGHIJKLMNOPQRSTUVWXYZ" level3="0123456789!@#$%^&*()_+{}[]<>?,." # Solicitar la longitud deseada de cada nivel read -p "Ingrese la longitud del nivel 1 (letras minúsculas): " len1 read -p "Ingrese la longitud del nivel 2 (letras mayúsculas y números): " len2 read -p "Ingrese la longitud del nivel 3 (caracteres especiales): " len3 # Generar la frase de contraseña aleatoria para cada nivel de seguridad pass1=$(head /dev/urandom | tr -dc "$level1" | head -c $len1) pass2=$(head /dev/urandom | tr -dc "$level2" | head -c $len2) pass3=$(head /dev/urandom | tr -dc "$level3" | head -c $len3) # Combinar las frases de contraseña generadas en una sola pass=$(echo -n $pass1 && echo -n $pass2 && echo -n $pass3 | shuf | tr -d ' ') # Imprimir la frase de contraseña generada echo "Su frase de contraseña aleatoria es: $pass"
En este script, primero se establecen los conjuntos de caracteres posibles para cada nivel de seguridad. Luego, se solicita al usuario la longitud deseada para cada nivel y se generan frases de contraseña aleatorias para cada nivel de seguridad utilizando el comando head
y tr
. Luego, las frases de contraseña generadas se combinan en una sola y se mezclan aleatoriamente utilizando el comando shuf
. Finalmente, la frase de contraseña generada se imprime en la pantalla.
Tenga en cuenta que este script genera una frase de contraseña aleatoria, pero no necesariamente segura. Para mejorar la seguridad de sus contraseñas, se recomienda utilizar frases de contraseña más largas y más complejas, y evitar patrones predecibles como fechas o palabras comunes. También es importante cambiar sus contraseñas regularmente y no reutilizar las mismas contraseñas para diferentes cuentas.
Esperando que sea de interés
How useful was this post?
Click on a star to rate it!
Average rating 0 / 5. Vote count: 0
No votes so far! Be the first to rate this post.
We are sorry that this post was not useful for you!
Let us improve this post!
Tell us how we can improve this post?
Thank You For Your Vote!
Sorry You have Already Voted!