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.