Si queremos que freeradius solo permita el acceso a ciertos grupos de usuarios podremos configurarlo de la siguiente manera, entramos en la máquina como administrador, vamos a la consola y ejecutamos:
sudo gedit /etc/freeradius/modules/ldap
Y dentro de este fichero buscamos estas lineas que actualmente estan comentadas y vamos a descomentarlas y modificarlas, dejandolas así:
groupname_attribute = cn # groupmembership_filter = "(|(&(objectClass=GroupOfNames)(memberUid=%{User-Name}))(&(objectClass=GroupOfUniqueNames)(uniquemember=%{control:Ldap-UserDn})))" groupmembership_filter = "(memberUid=%{User-Name})" groupmembership_attribute = memberUid
Visto de otra manera:
groupname_attribute = cn groupmembership_filter = "(memberUid=%{User-Name})" groupmembership_attribute = memberUid
Una vez hecho esto le damos a guardar y salir y editamos un segundo fichero, donde al final añadiremos las siguientes lineas en donde deberemos indicar una por grupo de los autorizados a usar la wifi, en el ejemplo dejamos solo usar la wifi a los profesores, y grupos 2bat y 1bat:
sudo gedit /etc/freeradius/users
DEFAULT Ldap-Group == "teachers" DEFAULT Ldap-Group == "2bat" DEFAULT Ldap-Group == "1bat" DEFAULT Auth-Type := Reject
Le damos a guardar y cerramos el fichero, no es necesario poner que estos grupos poseen acceso ya que cuando freeradius hace el filtrado continua su proceso en el fichero de gestion de acceso de protocolo eligiendo el más favorable en cada caso y negando el acceso al resto de usuarios que no esten en esos grupos. Aunque podriamos forzarlo al protocolo que mas nos interesase, por ejemplo EAP y quedando así:
DEFAULT Ldap-Group == "1bat", Auth-Type := EAP
Nosotros lo dicho lo dejaremos sin configurar y reiniciamos el servicio de freeradius:
sudo service freeradius restart
Ahora comprueba que solo los usuarios de los grupos elegidos acceden a la Wi-Fi.