En este archivo se configuran los aspectos relativos a la ejecución del demonio slapd: parámetros pasados en el arranque, usuario y grupo de ejecución del demonio, etc. En las siguientes secciones se verán los cambios realizados.
Nota | |
---|---|
Un ejemplo completo de este archivo de configuración se encuentra en el Apéndice R, Archivo de configuración /etc/default/slapd |
Por defecto, el demonio slapd se ejecuta como usuario root (vea el Ejemplo 2.3, “Comprobación de que slapd está en la lista de procesos actuales” para más detalles), comportamiento que no es recomendable por las implicaciones de seguridad que acarrea. En esta sección se describirán los pasos necesarios para ejecutar el demonio slapd con un usuario y un grupo específicos.
Antes de poder ejecutar el demonio slapd con un usuario y grupo específico, se ha de crear el usuario y grupo en el sistema, en caso de no existir.
El tipo de usuario y grupo que se crearán son los llamados “de sistema”, y se denominarán “slapd”. Para crearlos ejecute:
Ejemplo 3.1. Creación de un grupo y usuario de sistema para slapd
# addgroup --system slapd Añadiendo el grupo slapd (133)... Hecho. # adduser --home /var/lib/ldap --shell /bin/false --no-create-home --ingroup slapd --system adduser: Aviso: El directorio home que Usted especificó ya existe. Añadiendo usuario del sistema slapd... Añadiendo nuevo usuario slapd (126) con grupo slapd. No se crea el directorio home. |
Como se puede apreciar en el Ejemplo 3.1, “Creación de un grupo y usuario de sistema para slapd”, el home del usuario slapd es el directorio /var/lib/ldap (donde se almacena la base de datos de OpenLDAP, entre otras cosas), no posee shell asociada y está dentro del grupo slapd que se acaba de crear.
Aviso | |
---|---|
Antes de continuar con este paso, ha de parar el demonio slapd para evitar comportamientos no esperados: |
Antes de ejecutar el demonio slapd con el nuevo usuario y grupo creados, es necesario cambiar el propietario y el grupo de algunos archivos y directorios relacionados con slapd, para que este funcione con normalidad. Los cambios han de realizarse en los siguientes directorios, así como en los archivos que albergan:
/etc/ldap
/var/lib/slapd
/var/lib/ldap
/var/run/slapd
Para ello se ha de ejecutar:
Ejemplo 3.3. Cambio del propietario/grupo en archivos relacionados con slapd
# /bin/chown -R slapd.slapd /etc/ldap /var/lib/slapd /var/lib/ldap /var/run/slapd slapd |
En estos momentos slapd ya casi está preparado para ejecutarse con el nuevo usuario.
El último paso consiste en indicar al demonio slapd con qué usuario y grupo se ha de ejecutar a partir de ahora. Esta característica se configura asignando los valores correspondientes a las variables SLAPD_USER y SLAPD_GROUP del archivo /etc/default/slapd.
Continuando con la configuración de ejemplo seguida en las secciones anteriores los valores que han de tener estas variables son:
Ahora sólo queda arrancar de nuevo el demonio slapd para que se ejecute con el nuevo usuario:
Ejemplo 3.5. Arrancando el demonio slapd
La configuración por defecto del demonio slapd hace que escuche en todas las interfaces de red presentes en el sistema. Esta característica no es deseable, por este motivo se verá la forma de modificarla.
La especificación de las interfaces de red, así como el protocolo utilizado en cada una de ellas (ldap, ldaps, ldai), se realiza en el archivo /etc/default/slapd. Dentro de este, la variable SLAPD_SERVICES poseerá las interfaces donde se desea que escuche slapd. El Ejemplo 3.6, “Estableciendo las interfaces donde ha de escuchar slapd” muestra como hacerlo.
Ejemplo 3.6. Estableciendo las interfaces donde ha de escuchar slapd
SLAPD_SERVICES="ldap://gsr.pt:389/ ldaps://gsr.pt:636/" |
Nota | |
---|---|
El protocolo “ldap” especifica las interfaces y los puertos donde escuchará slapd con la característica de que las conexiones que se establezcan a la misma no harán uso de encriptación. El protocolo “ldaps” especifica las interfaces y los puertos donde escuchará slapd con la característica de que las conexiones que se establezcan a la misma harán uso de encriptación. Adicionalmente se puede establecer un nuevo protocolo de comunicaciones, “ldapi”, destinado a las peticiones realizadas desde sockets Unix. |
Una vez se han asignado las interfaces necesarias, se ha de reiniciar el demonio slapd:
Ejemplo 3.7. Reinicio del demonio slapd
Nota | |
---|---|
La salida del comando /bin/ps se ha retocado para mejorar la legibilidad. |