Refosco Ingeniería Informática

Refosco Ingeniería Informática
Rivadavia 877 CP 3306 Oberá Mnes. Te 03755 406060

lunes, 8 de marzo de 2010

Crear usuarios en forma masiva

Hola .. resulta que tube que tranportar las cuentas de un servidor de correo viejo a otro nuevo. Para ello hice un listado de los usuarios que al pegarlos en en calc me pregunta el separador de campos ..eligiendo el adecuado me queda todo separado por columnas. Luego eliminé las columnas y finalmente dejé un archivo de texto con el siguiente formato:
1:loginname1:Nombre de Usuario
2:loginname2:Nombre de Usuario
..
...
..
Este archvo se lo guardo en /root/usuario
El script quedó de la siguiente forma:

#!/bin/bash
#Contamos la cantidad de usuarios
#el archivo de los usuarios, contiene un listado de todos los usuarios a agregar
#con la estructura nro: loginname:NumeroUsuario
lineas=`cat /root/usuarios | wc -l`
let lineas=lineas+1
i=1
#bucle hasta que $i es igual al numero de lineas, es decir, hasta que se ha leido
#todo el fichero
while [ $i -lt $lineas ];do
    #obtenemos cada una de las lineas
    linea=`head -$i /root/usuarios | tail -1`
    id=`echo $linea | cut -d: -f1`
    let id=id+1000
    #nombre login del nuevo usuario
    loginname=`echo $linea | cut -d:  -f2`
    #fullname  del nuevo usuario
    fullname=`echo $linea | cut -d:  -f3`
    mkdir /home/$loginname
    chmod 755 /home/$loginname
    chown -R $id:100  /home/$loginname
    useradd -u $id -g 100  -p 1234  -d /home/"$loginname"  -c "$fullname" -s /bin/false   "$loginname"
    let i=i+1
done

Lo que resta ahora, es solucionar el tema de los passwords que como vemos todos tienen 1234 , para ello tomamos la línea correspondiente al usuario de /etc/shadow y la reemplazamos en el /etc/shadows del nuevo server.
Hasta aqui tendré creados todos los usuarios con sus respectivos directorio y la contaseña que tenían.

No hay comentarios:

Publicar un comentario

Desde ya gracias por tus comentarios.