Migrando la información de Automount a LDAP

Introducción

En este artículo veremos como migrar la configuración de Automount a un LDAP. Usaremos OpenLDAP como implementación del directorio, Debian como Sistema Opertivo en el servidor y Bardinux (Kubuntu) en el cliente.

Servidor

En el servidor, básicamente lo único que hay que hacer es añadir al LDAP la información correspondiente.

Para esto, hay que añadir un nuevo esquema a la configuración del slapd. El archivo se llama /etc/ldap/schema/autofs.schema y se encuentra en el paquete autofs-ldap.

ssl1:~/autofs_in_ldap# apt-get install autofs-ldap
...

ssl1:~/autofs_in_ldap# cat /etc/ldap/slapd.conf
...
include         /etc/ldap/schema/misc.schema
include         /etc/ldap/schema/samba.schema
include         /etc/ldap/schema/autofs.schema
...
ssl1:~/autofs_in_ldap# /etc/init.d/slapd restart
...

Posteriormente crearemos los archivos ldif con la información que se incluirá en el LDAP. Lo primero será crear una nueva OU (unidad organizativa) que contendrá toda la información:

Contenido del ldif con la OU:

ssl1:~/autofs_in_ldap# cat ou_services.ldif
dn: ou=Services,dc=aulas,dc=ull,dc=es
objectClass: organizationalUnit
ou: Services

A continuación crearemos en esta OU la información para el archivo auto.master:

ssl1:~/autofs_in_ldap# cat auto_master.ldif
dn: nisMapName=auto.master,ou=Services,dc=aulas,dc=ull,dc=es
objectclass: top
objectclass: nisMap
nismapname: auto.master

dn: cn=/home,nisMapName=auto.master,ou=Services,dc=aulas,dc=ull,dc=es
objectclass: top
objectclass: nisObject
nismapname: auto.master
nismapentry: ldap:192.168.0.1:nismapname=auto.home,ou=Services,dc=aulas,dc=ull,dc=es
cn: /home

Y la información del archivo auto.home:

ssl1:~/autofs_in_ldap# cat auto_home.ldif
dn: nisMapName=auto.home,ou=Services,dc=aulas,dc=ull,dc=es
objectclass: top
objectclass: nisMap
nismapname: auto.home

dn: cn=/,nisMapName=auto.home,ou=Services,dc=aulas,dc=ull,dc=es
objectclass: top
objectclass: nisObject
cn: /
nismapentry: 192.168.0.1:/home/&
nismapname: auto.home

Ejemplo de importación de los datos al LDAP:

ssl1:~/autofs_in_ldap# ldapadd -x -W -D 'cn=manager,dc=aulas,dc=ull,dc=es' -f ou_services.ldif
Enter LDAP Password:
adding new entry "ou=Services,dc=aulas,dc=ull,dc=es"

ssl1:~/autofs_in_ldap# ldapadd -x -W -D 'cn=manager,dc=aulas,dc=ull,dc=es' -f auto_master.ldif
Enter LDAP Password:
adding new entry "nisMapName=auto.master,ou=Services,dc=aulas,dc=ull,dc=es"

adding new entry "cn=/home,nisMapName=auto.master,ou=Services,dc=aulas,dc=ull,dc=es"

ssl1:~/autofs_in_ldap# ldapadd -x -W -D 'cn=manager,dc=aulas,dc=ull,dc=es' -f auto_home.ldif
Enter LDAP Password:
adding new entry "nisMapName=auto.home,ou=Services,dc=aulas,dc=ull,dc=es"

adding new entry "cn=/,nisMapName=auto.home,ou=Services,dc=aulas,dc=ull,dc=es"

Cliente

Instalar autofs-ldap:

root@chinamada:~# apt-get install autofs-ldap
...

Configurar los datos del servidor LDAP por defecto en /etc/ldap/ldap.conf. Por ejemplo:

root@chinamada:~# cat /etc/ldap/ldap.conf
# $OpenLDAP: pkg/ldap/libraries/libldap/ldap.conf,v 1.9 2000/09/04 19:57:01 kurt Exp $
#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

BASE    dc=aulas,dc=ull,dc=es
URI     ldap://192.168.0.1

#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never

Añadir “automount: files ldap” a /etc/nsswitch.conf. Por ejemplo:

root@chinamada:~# cat /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap

hosts:          files dns mdns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

automount:      files ldap

Modificar la configuración de automount, por ahora modificaremos el archivo auto.master. También se puede almacenar el archivo auto.master completo en el LDAP pero lo dejaremos para la siguiente versión de este tutorial.

root@chinamada:~# cat /etc/auto.master
#
# $Id: auto.master,v 1.4 2005/01/04 14:36:54 raven Exp $
#
# Sample auto.master file
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# For details of the format look at autofs(5).

#/home  /etc/auto.home
/home   ldap:nisMapName=auto.home,ou=Services,dc=aulas,dc=ull,dc=es

Por último reiniciamos el servicio autofs:

root@chinamada:~# /etc/init.d/autofs restart
...

Documentación

Una respuesta a “Migrando la información de Automount a LDAP”

  1. Anónimo

    Si configuramos

    cat /etc/auto.master

    \############

    +auto.master

    El autofs intentara buscar una tabla llamada auto.master en el arbol ldap con el filtro
    (&(objectclass=nisMap)(nisMapName=auto.master))

    De esta forma no tenemos que configurar en cada uno de los equipos el auto.master con la entrada ldap y podemos pasarles todos los parametros que queramos: ej:

    \#### auto.master, Services, etsii.ull.es

    dn: nisMapName=auto.master,ou=Services,dc=etsii,dc=ull,dc=es

    objectClass: nisMap

    nisMapName: auto.master

    \#### /home, auto.master, Services, etsii.ull.es

    dn: cn=/home,nisMapName=auto.master,ou=Services,dc=etsii,dc=ull,dc=es

    objectClass: top

    objectClass: nisObject

    nisMapName: auto.master

    cn: /home

    nisMapEntry: ldap:lapa:nisMapName=auto_home,ou=Services,dc=etsii,dc=ull,dc=es –timeout 60 -fstype=nfs4

    Responder

Dejar un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.