LDAP
Ricardo Harnisch
Pablo Fuentes
Pablo Nahuelpan
Esteban Montandon
LDAP (Lightweight Directory Access Protocol)
Es un protocolo a nivel de aplicación que
permite el acceso a un servicio de directorio
ordenado y distribuido para buscar diversa
información en un entorno de red.
Instalación del servidor LDAP
Para la instalación del servidor necesitaremos lossiguientes
paquetes.
$ apt-get install libldap2 slapd ldap-utils
Al momento de instalar, se nos pedirá el dominio (inf.uct.cl)
del servidor, el nombre de nuestra organización (que la
llamamos klae) y la password de administrador.
Utilización de phpldapadmin
phpLDAPadmin en una herramienta basada en web que permite
gestionar un directorio LDAP desde un navegador.
$ apt-get installphpldapadmin
Una vez terminada la instalación, podremos acceder a la dirección
http://server/phpldapadmin.
Configuración del servidor LDAP
Ahora debemos especificar el servidor y la maquina donde éste se
encuentra. Para esto editamos el archivo /etc/ldap/ldap.conf, donde
especificaremos el nombre de nuestro dominio y la dirección de éste:
BASE dc=inf.uct,dc=cl
URI ldap://localhost
Configurarla lista de control de acceso
Los Niveles de acceso permiten especificar a quién se da el permiso
para leer, buscar, comparar o modificar la información almacenada en
el directorio. access to what [by who acess_control]+
•what: a qué datos del directorio se aplica la regla. A todo el directorio (*),
a un subconjunto de entradas con un sufijo dn=".*,ou=profesores,
dc=iescuravalera,dc=es" oun atributo en concreto
•who: indica a qué usuario(s) se especifica la regla. self (el propietario de la
entrada), dn="..." (el usuario representado por el nombre distinguido), users
(cualquier usuario acreditado), anomymous (cualquier usuarios no
acreditado) y * (cualquier usuario).
•access_control: indica qué operación concede la regla: none (sin acceso),
auth (utilizar la entrada paravalidarse), compare (comparar), search
(búsqueda), read (lectura), y write (modificación).
Permite al administrador cambiar cualquier entrada del directorio
y al resto de usuarios sólo leerlas.
access to *
by dn="cn=Manager,dc=inf.uct, dc=cl" write
by * read
Permite a cada usuario a cambiarse su propia contraseña (la contraseña
es el atributo userPassword en los objetos de tipo usuario), aladministrador cambiar la de cualquier usuario y al resto de usuarios sólo
pueden utilizar este campo para autentificarse.
access to attrs=userPassword
by dn="cn=Manager,dc=inf.uct, dc=cl" write
by anonymous auth
by self write
by * none
Migrar los usuarios y grupos actuales al
dominio
La idea es que los usuarios y grupos, que tengamos
creados en la máquina que contiene el servidorLDAP, migrarlos al directorio LDAP. Vamos a crear los
grupos profesores y alumnos, y les vamos a asociar
usuarios. Después haremos la migración a LDAP.
Ejemplo
•Creamos los grupos:
addgroup -gid 2000 PROFESORES
addgroup -gid 2001 ALUMNOS
•Creamos usuarios para esos grupos, morgado es profesor y
pepe es alumno.
adduser -gid 2000 morgado
adduser -gid 2001 pepe
Nos descargamos elpaquete Migration Tools, lo descomprimimos en
/usr/share/MigrationTools y nos posicionamos en dicho directorio. La
idea es pasar el passwd y group a formato ldif.
Editamos el fichero migrate_common.ph y hacemos los siguientes
cambios:
Default DNS domain
$DEFAULT_MAIL_DOMAIN = “inf.uct.cl";
# Default base
$DEFAULT_BASE = "dc=inf.uct, dc=cl";
# turn this on to support more general objectclases such as person.
$EXTENDED_SCHEMA = 1;
A continuación ejecutamos, desde la shell, los scripts de migración:
#migramos el sistema base
./migrate_base.pl > /var/lib/ldap/base.ldif
#migramos los grupos
./migrate_group.pl /etc/group
/var/lib/ldap/group.ldif
#migramos los usuarios
./migrate_passwd.pl /etc/passwd
/var/lib/ldap/passwd.ldif
Finalmente activamos el servicio....
Regístrate para leer el documento completo.