Configuración del servidor OpenLDAP

Necesitamos configurar el servidor OpenLDAP para que actue como una base de datos SAM. Por tanto, para conseguir dicho objetivo, debemos de hacer posible que:

Para conseguir los objetivos anteriores, definiremos la estructura del directorio según el siguiente DIT (LDAP Directory Information Tree).

dc=admon, dc=com
|
---- ou = Users         : cuentas de usuario tanto para linux como para Windows
|
---- ou = Computers     : cuentas de máquina para los sistemas Windows
|
---- ou = Groups        : cuentas de grupos tanto para linux como para Windows
|
---- ou = DSA           : cuentas espciales de sistema

Esta estructura es conforme con las recomendaciones del RFC 2307bis. Por tanto, la conjuncion de Samba y OpenLDAP nos permitirá almacenar la siguiente información:

Los ficheros de configuración del servidor OpenLDAP se encuentran bajo el directorio /etc/openldap. El fichero de configuración principal del servidor se denomina /etc/openldap/slapd.conf. El fichero de configuración de las herramientas clientes se llama /etc/openldap/ldap.conf, y los diferentes ficheros que configuran el esquema que ofrece el servicio de directorio se encuentran bajo el subdirectorio schema.

El fichero base de configuración sobre el que vamos a trabajar a lo largo del libro es el siguiente:

# Fichero /etc/openldap/slapd.conf
#

# Diferentes ficheros que definen partes del esquema
#
include  /etc/openldap/schema/core.schema
include  /etc/openldap/schema/cosine.schema
include  /etc/openldap/schema/inetorgperson.schema
include  /etc/openldap/schema/nis.schema
include  /etc/openldap/schema/samba.schema

# Ficheros que mantienen el pid del proceso servidor
# y los argumentos pasados
#
pidfile  /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args

# Formato de la base de datos que almacenará el directorio
#
database ldbm

# Raíz(sufijo) del servicio de directorio
# dn y password del administrador del directorio
#
suffix  "dc=admon,dc=com"
rootdn  "cn=admin,dc=admon,dc=com"
rootpw  {SSHA}86kTavd9Dw3FAz6qzWTrCOKX/c0Qe+UV

# Ubicación de los datos físicos del servicio de directorio
#
directory /var/lib/ldap

# Indices 
#
index objectClass           eq
index cn                    pres,sub,eq
index sn                    pres,sub,eq
index uid                   pres,sub,eq
index displayName           pres,sub,eq
index uidNumber             eq
index gidNumber             eq
index memberUID             eq
index sambaSID              eq
index sambaPrimaryGroupSID  eq
index sambaDomainName       eq
index default               sub

En el fichero de configuración del servidor OpenLDAP se aprecia la inclusión de un fichero de configuración del esquema que nos va a permitir definir los atributos necesarios para poder dar soporte a los objetos que requiere un cliente Windows. El fichero /etc/openldap/schema/samba.schema viene en el paquete Samba. Por tanto habrá que copiarlo de la ubicación /usr/share/doc/samba-3.0.10/LDAP/samba.schema al directorio /etc/openldap/schema.

Una vez definido el fichero de configuración de OpenLDAP y el esquema que va a soportar, el siguiente paso sería rellenar el directorio con la estructura básica que queremos implementar. Para ello sería necesario obtener el fichero en formato LDIF. Si utilizamos las herramientas comentadas anteriormente de IDEALX, existe un comando (smbldap-populate) que nos permite crear toda esa infraestructura en el servidor LDAP. Lo único necesario sería configurar el fichero /etc/smbldap-tools/smbldap.conf que define algunos parámetros necesarios para dicha operación

# smbldap-populate