Creando usuarios masivamente en linux

Al crear el nuevo servidor de correo me he encontrado con que tengo que crear los usuarios con sus paswords. Si tienes 2 o 3 pos lo haces a mano, pero si tienes que hacer 20 (o mas) se vuelve un poco coñazo. Solución = Bash Script :)

Primero pensamos como crear un usuario sin que se requiera ninguna entrada interactiva:
adduser --shell /bin/false --ingroup users --gecos usuario --disabled-password usuario
Después pensamos como meterle el password de forma no interactiva:
echo -e "password\npassword" | passwd usuario
Ahora necesitamos la lista de usuarios con su password. Yo lo tenia en un excel, asi que lo guardo como texto delimitado por campos y como delimitador uso el ':' por lo que el archivo de texto me queda algo parecido a:
user1:pass1::::
user2:pass2::::
...
solo queda crear el script:

#!/bin/bash
############
INPUT="$1"
while IFS=: read user pass cola
do
  echo "USER: $user - $pass"
  adduser --shell /bin/false --ingroup users --disabled-password --gecos $user $user
  echo -e "$pass\n$pass" | passwd $user
done < $INPUT
ahora solo queda invocarlo pasandole como parámetro el archivo con la lista de usuarios.
Ale





Comentarios