Script para crear usuario [SOLUCIONADO]

Imagen de morphete
0 puntos

Buenas, necesito un script que cree un usuario con su contraseña a partir de dos variables que hayan sido escritas antes. Quiero hacer algo así:

read -p "Username: " username
read -s -p "Password: " password
useradd $username -p $password -s /bin/bash -m -g sudo

el user me lo crea con éxito, pero luego no me deja entrar, me da contraseña incorrecta. Alguien me puede ayudar?
Gracias, un saludo

Imagen de rioport
+1
0
-1

#!/bin/bash
read -p "Username: " username
read -s -p "Password: " password

export password
pass=`perl -e'print crypt($ENV{password}, "SALT");'`

useradd $username -p $pass -s /bin/bash -m -g sudo

Aquí algo de información de lo que es SALT: msmvps.com.

+1
0
-1

-- GC --

Imagen de Gabriel_M
+1
0
-1

#!/bin/bash
# Script para agregar un usuario al sistema
if [ $(id -u) -eq 0 ]; then
read -p "Ingrese el nombre de usuario: " username
read -s -p "Ingrese la contraseña: " password
egrep "^$username" /etc/passwd >/dev/null
if [ $? -eq 0 ]; then
echo "$username ya existe!"
exit 1
else
pass=$(perl -e 'print crypt($ARGV[0], "password")' $password)
useradd -m -p $pass $username
[ $? -eq 0 ] && echo "El usuario se ha agregado al sistema!" || echo "No se ha podido agregar el usuario!"
fi
else
echo "Unicamente el administrador puede agregar un usuario al sistema"
exit 2
fi

+1
0
-1
Imagen de morphete
+1
0
-1

Muchas gracias por las respuestas! El primer script no me ha funcionado, el segundo sí.

Saludos!

+1
0
-1