You are on page 1of 21

Ivan Huaiquilao

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 los siguientes


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 install phpldapadmin
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
Configurar la 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" o un 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 para validarse), 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), al
administrador 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 servidor
LDAP, 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 el paquete 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 object


clases 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.

/etc/init.d/slapd start

Y el servidor ya debería estar funcionando.


Nuestro objetivo
 Se configurará un cliente ldap en nuestra
maquina, para poder identificarse como
usuarios usando su login de la escuela.
Instalación
 Para comenzar debemos instalar los paquetes
necesarios para el clientes.

$ apt-get install libnss-ldap ldap-utils libpam-ldap libpam-


modules
Archivo /etc/ldap/ldap.conf

Ahora configuraremos los archivos para que nuestra


máquina actúe como cliente hacia el servidor.

Host 192.168.5.191

Base dc=inf.uct, dc=cl

URI ldap://inf.uct.cl
Configuración del Name Service Switch(nss)

 Permite obtener información sobre nombres de


hosts, contraseñas, usuarios datos sobre estos, a
partir de distintas fuentes, en este caso desde el
servidor de LDAP.
Archivo /etc/libnss_ldap.conf
# Your LDAP server. Must be resolvable without using LDAP.
# Multiple hosts may be specified, each separated by a space.
# How long nss_ldap takes to failover depends on whether your
# LDAP client library supports configurable network or connect
# timeouts (see bind_timelimit).
host 192.168.5.191

# The distinguished name of the search base.


base dc=inf.uct,dc=cl

# The LDAP version to use (defaults to 3 if supported by client library)


ldap_version 3

# The distinguished name to bind to the server with if the effective user
# ID is root. Password is stored in /etc/ldap.secret (mode 600)
rootbinddn cn=riky, dc=inf.uct, dc=cl

# Do not hash the password at all; presume the directory server


#will do it, if necessary. This is the default.
pam_password md5
Archivo /etc/nsswitch.conf
 Debemos decirle al cliente que busque las cuentas
de usuario en forma local o en el servidor ldap.

Passwd: files ldap


group: files ldap
shadow: files ldap
#
hosts: files dns ldap
networks: files ldap
#
protocols: db files
services: db files
ethers: db files
rpc: db files
#
netgroup: nis
Configuración de PAM (Plugable Authentication Module)

 Permite hacer uso de un servidor LDAP


para la autentificación de usuarios
(comprobación de claves).

 Configuramos el archivo
/etc/pam_ldap.conf y las autenticaciones
correspondientes en los módulos pam.d.
Archivo /etc/pam_ldap.conf
# network or connect timeouts (see bind_timelimit).
host 192.168.5.191

# The distinguished name of the search base.


base dc=inf.uct, dc=cl

# if supported by client library)


ldap_version 3

# The distinguished name to bind to the server with


# if the effective user ID is root. Password is
# stored in /etc/pam_ldap.secret (mode 600)
rootbinddn cn=riky, dc=inf.uct, dc=cl

# Do not hash the password at all; presume


# the directory server will do it, if
# necessary. This is the default.
pam_password md5
FIN
gracias

You might also like