Relacionar alumnos/portátiles en el servidor ldap | Algo de Linux

viernes, 4 de octubre de 2013

Relacionar alumnos/portátiles en el servidor ldap

Cada uno realizamos la asignación de alumnos/portátiles de un modo más o menos particular y son igual de válidos, sobre todo porque nos solucionan el problema. Os voy a contar cómo lo hago yo, por si a alguien más le sirve la idea.

Para empezar, asigno un nombre a cada portátil de manera similar a como lo hacemos con los equipos de las aulas de terminales. Por ejemplo: a01-o01 sería el portátil 01 del aula 01, a01-o02 sería el portátil 02 del aula 01, y así sucesivamente.

En el servidor ldap, utilizo un esquema (ldapns.schema) que me permite definir, para cada usuario, los hosts desde los que va a tener acceso. Ahora mismo, no utilizo este esquema para controlar el acceso desde determinados hosts; tan sólo lo uso para asignar un determinado portátil a un alumno concreto.

Para hacer uso del esquema ldapns.schema, hacemos lo siguiente:

Primero.- Copiamos /usr/share/doc/nss_ldap-253/ldapns.schema /etc/ldap/schema/ldapns.schema

# cp /usr/share/doc/nss_ldap-253/ldapns.schema /etc/ldap/schema/ldapns.schema

Segundo.- Editamos el archivo de configuración del servidor ldap:

# nano /etc/ldap/slapd.conf

Y añadimos al fichero el include para usar el esquema:

include         /etc/ldap/schema/ldapns.schema

Tercero.- El siguiente paso será añadir a cada entrada de usuario el objectClass: hostObject y el atributo host con el nombre del portátil

Para realizar este último paso, retoqué el script que uso para añadir el objectClass y los atributos de radius a los usuarios para que, al mismo tiempo, también añadiera el objectClass hostObject y el atributo host.
Por otra parte, creé un script perl (asignaportatiles) al que le indico el nombre del aula y el fichero que contiene la lista de alumnos de ese aula ordenado por apellidos y va asignando de forma correlativa los portátiles por orden de lista.

Y, por último, tomando como modelo el script anterior, creé otro (desasignaportatiles) que desasigna los portátiles a todos los alumnos de un aula, poniéndoles el atributo host = none.

Publicado por primera vez en http://enavas.blogspot.com.es

2 comentarios:

Anónimo dijo...

Hola, el script que añade el objeto radius, podrías decirme cuál es?

Gracias.

Esteban M. Navas Martín dijo...

Es un script que recorre la rama de usuarios de ldap para añadirle los atributos dialupAccess y radiusGroupName para controlar el acceso wifi. Para matar dos pájaros de un tiro, modifiqué el script para que añadiera el atributo host.