En esta entrega voy a compartir
un script que permite migrar los usuarios Linux (Ubuntu 12.04) a un servidor
Freeradius.
Este escenario se aplica al caso
que tengamos autentificando un servicio como por ejemplo el RAS con usuarios
del sistema y necesitamos pasar la autentificación a RADIUS. Como se podrá observar
este script tiene por objetivo que el proceso de migración sea trasparente para
el usuario remoto que va a autentificarse.
Suponemos que tenemos instalado
freeradius con soporte para mySQL, además de Daloradius para administración gráfica.
Previamente debemos copiar el
archivo /etc/shadow desde el servidor RAS al servidor freeradius en la misma
carpeta donde ejecutaremos el script y lo renombraremos como shadow.txt. Este
archivo contiene los usuarios y password encriptados del sistema Linux;
aprovecharemos el atributo radius Crypt-Password para insertar el password
encriptado del usuario en la BBDD mysql de freeradius. Si no queremos importar
determinado usuario sencillamente eliminamos la línea que lo contiene en el
fichero shadow.txt, después de copiado.
EL script
#!/bin/sh
# Este script lee usuarios del fichero shadow y los inserta en la bd
# de freeradius/Daloradius.
# Este script lee usuarios del fichero shadow y los inserta en la bd
# de freeradius/Daloradius.
# fichero q contendra las sentencias SQL
filebase="sql-insert-users.txt"
# Eliminanmos el fichero si existiera previamente
rm -f $filebase
rm -f $filebase
# Creamos el fichero
touch $filebase
users=$(cat shadow.txt)
for u in $users
do
touch $filebase
users=$(cat shadow.txt)
for u in $users
do
# Tomamos la primera columna q contienes el username
usuario=`echo $u|cut -d: -f1`
usuario=`echo $u|cut -d: -f1`
# Tomamos la segunda columna q contiene el password, el separador entre columnas es :
pass=`echo $u|cut -d: -f2`
echo "Creando usuario -> usuario=$usuario passw=$pass"pass=`echo $u|cut -d: -f2`
echo "INSERT INTO radcheck (username,attribute,op,value) VALUES ('$usuario','Crypt-Password','==','$pass');" >> $filebase
# la tabla userinfo es agregada por Daloradius al squema de freeradius, si no usamos Daloradius
# comentar la sgte linea
echo "INSERT INTO userinfo (username) VALUES ('$usuario');" >> $filebase
done
# user y pass de mysql con derecheros a insertar en la tabla radcheck y/o userinfo en la BD radius
mysql --user=root --password=passroot radius < $filebase
No hay comentarios.:
Publicar un comentario