Se debe crear un archivo llamado userlist con la lista de los nombres de usuario. Como resultado, genera el archivo userlist-created con la lista de los usuarios creados y sus contraseñas aleatorias.
Dispone de la opción "-p" para cambiar la contraseña a los usuarios que ya estuvieran creados previamente.
#!/bin/bash
if [ -f ./userlist ]
then
for i in $(cat ./userlist)
do
PASSWORD=$(cat /dev/urandom | tr -dc "a-hjkmnp-zA-HJKMNP-Z!@#$%2-9" | fold -w 8 | head -1)
if id -u $i >/dev/null 2>&1; then
if [ "$1" == "-p" ]; then
echo $i:$PASSWORD | chpasswd
echo "Cambiada la contraseña de <$i>"
echo "$i --------- $PASSWORD" >>./userlist-created
else
echo "usuario <$i> ya existe"
fi
else
useradd -m $i
echo $i:$PASSWORD | chpasswd
echo "Creado el usuario <$i>"
echo "$i --------- $PASSWORD" >>./userlist-created
fi
done
chmod 0600 ./userlist-created
else
echo "Archivo userlist no encontrado"
fi