Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Luis Quesada Diaz ServidorLDAP
Luis Quesada Diaz ServidorLDAP
de Febrero de 2011 00010110111001010010011010001 Luis Quesada Daz 01101110010100100110100010110 11100101001001101000101101110 01010010011010001011011100101 00100110100010110111001010010 01101000101101110010100100110 10001011011100101001001101000 10110111001010010011010001010 10110111001010010011010001011 01110010100100110100010110111
Servidor de impresin, dirigido hacia una impresora rpida y econmica (en cuanto a consumibles) o una fotocopiadora con funciones de impresin.
Otra opcin interesante, siempre que se disponga de un servidor con suficiente capacidad de almacenamiento y los discos duros sean rpidos, es la creacin de perfiles mviles mediante LDAP y NFS, as desde cualquier ordenador podemos acceder a nuestra cuenta y nuestros datos.
Igualmente veo conveniente la instalacin de un Proxy, sobre todo por la posibilidad de mantener en cache las ltimas pginas accedidas y por limitar el acceso a URLs poco convenientes en un centro educativo.
Como prctica final he creado un controlador de dominio con LDAP, para que se autentiquen los usuarios y con apoyo de NFS he confeccionado perfiles mviles. Describo el proceso llevado a cabo hasta conseguir la total funcionalidad. Tambin he estado investigando un poco las otras dos herramientas grficas que sugiere el curso, pero que no desarrolla.
OpenLDAP
Linux
Aadir esquemas
En primer lugar, se deben cargar algunos archivos adicionales de esquemas. Ya que en principio slo incluye un esquema (core.schema) con la definicin de algunos objetos bsicos.
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
########################################################### # Configuracin de la base de datos ########################################################### # Cargar mdulos para el tipo de base de datos utilizada dn: cn=module{0},cn=config objectClass: olcModuleList cn: module{0} olcModulePath: /usr/lib/ldap olcModuleLoad: {0}back_hdb # Crear directorio de la base de datos dn: olcDatabase={1}hdb,cn=config objectClass: olcDatabaseConfig objectClass: olcHdbConfig olcDatabase: {1}hdb olcDbDirectory: /var/lib/ldap olcSuffix: dc=vergel,dc=es olcRootDN: cn=hortelano,dc=vergel,dc=es
OpenLDAP
Linux
# Contrasea tierra cifrada obtenida con el comando: slappasswd -h {MD5} olcRootPW: {MD5}1dnpqcY6uJrtwjZONRAb6Q== olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=hortelano,dc=vergel,dc=es" write by anonymous auth by self write by * none olcAccess: {1}to dn.base="" by * read olcAccess: {2}to * by dn="cn=hortelano,dc=vergel,dc=es" write by * read olcLastMod: TRUE olcDbCheckpoint: 512 30 olcDbConfig: {0}set_cachesize 0 2097152 0 olcDbConfig: {1}set_lk_max_objects 1500 olcDbConfig: {2}set_lk_max_locks 1500 olcDbConfig: {3}set_lk_max_lockers 1500 olcDbIndex: uid pres,eq olcDbIndex: cn,sn,mail pres,eq,approx,sub olcDbIndex: objectClass eq
Aqu tambin se aaden las credenciales del usuario administrador de ldap, aunque todava no est dado de alta como usuario.
olcBcDirectory
Indica el directorio donde se almacenar la base de datos. Por defecto en /var/lib/ldap.
olcSuffix
Define la base o raz del Directorio LDAP. En el ejemplo "dc=vergel,dc=es".
olcRootDN
Nombre del usuario administrador para LDAP.
olcRootPW
Contrasea del administrador.
OpenLDAP
Linux
# Raz del rbol dn: dc=vergel,dc=es objectClass: top objectClass: dcObject objectclass: organization o: vergel.es dc: vergel description: Raz de la estructura de rbol # Administrador LDAP dn: cn=hortelano,dc=vergel,dc=es objectClass: simpleSecurityObject objectClass: organizationalRole cn: hortelano userPassword: tierra description: Administrador LDAP
Para aadir esta configuracin al Directorio volvemos a usar ldapadd, pero a partir de ahora nos debemos de autenticar como el usuario administrador definido en el paso anterior.
OpenLDAP
Linux
# Creacin unidad organizativa "grupos" dn: ou=grupos,dc=vergel,dc=es ou: grupos objectClass: top objectClass: organizationalUnit
Creacin del fichero 5_nuevo_usuario.ldif: # Creacin del usuario manzano dn: uid=manzano,ou=usuarios,dc=vergel,dc=es uid: manzano cn: manzano rojo objectClass: account objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword: manzano loginShell: /bin/bash uidNumber: 5000 gidNumber: 5000 homeDirectory: /home/movil/manzano gecos: Mi fruta es rica y digestiva host: *
OpenLDAP
Linux
En este ejemplo se pretende que todos los usuarios con perfil mvil tengan su directorio de conexin dentro de /home/mvil, para que de esta forma sea ms cmodo ponerlos todos disponibles en la red a travs de NFS. ldapadd -x -D "cn=hortelano,dc=vergel,dc=es" -W -f 5_nuevo_usuario.ldif
Comprobaciones
slapcat
Este comando, que requiere permisos de administrador, genera una salida en formato LDIF de todo el contenido del Directorio LDAP.
-l fichero.ldif
Si le aadimos esta opcin obtenemos una copia del Directorio en un fichero con formato LDIF.
ldapshearch
Se usa, como hemos comprobado, para realizar bsquedas dentro del Directorio, por ejemplo para buscar la informacin relativa al usuario "manzano" escribiremos:
-b
Base donde se encuentra el objeto que estamos buscando.
OpenLDAP
Linux
Una vez terminada la instalacin, muestra una ventana para la configuracin bsica de LDAP. En la primera ventana anotamos la IP del servidor LDAP utilizando el prefijo ldap://.
OpenLDAP
Linux
Luego nos pregunta se deseamos que las contraseas se almacenen en un fichero aparte. Respondemos que No.
OpenLDAP
Linux
Tambin respondemos que el cliente no necesita autenticarse para acceder a la base de datos, ya que nicamente va a leerla.
Finalmente preguntar por el sistema de cifrado que se utilizar para las contraseas.
Toda la configuracin del cliente se almacena en el fichero /etc/ldap.conf, siendo este usado tanto por PAM como por NSS.
dpkg-reconfigure ldap-auth-config
OpenLDAP
Linux
10
vi /etc/nsswitch.conf
Buscamos las siguientes 3 lneas:
De esta forma primero buscar en los ficheros locales (/etc/passwd, /etc/group y /etc/shadow), y si el usuario no se encuentra buscar a continuacin en el Directorio LDAP.
Para probar que NSS est funcionando correctamente, podemos ejecutar los siguientes comandos:
Configuracin de PAM
Sus ficheros de configuracin se encuentran en /etc/pam.d/. Podemos realizar una configuracin bsica ejecutando el comando:
Pam-auth-update
OpenLDAP
Linux
11
Para que LDAP sea totalmente operativo faltara reiniciar el equipo cliente.
Para comprobar que PAM est funcionando correctamente instalaremos el paquete libpam-dotfile. Y a continuacin ejecutamos la herramienta contenida en este paquete, que se llama pamtest, requiere dos parmetros: el servicio que se quiere testear (passwd, login, ssh, ) y para que usuario. En nuestro caso nos interesa sobre todo que los usuarios puedan hacer login, por lo que ejecutaremos:
OpenLDAP
Linux
12
La configuracin realizada por pam-auth-update es vlida para la mayora de los casos, pero se puede personalizar en los ficheros de configuracin. Por defecto un usuario LDAP conectado desde un cliente no puede cambiar su contrasea con el comando passwd, para permitirlo editamos el fichero /etc/pam.d/common-password y modificamos la lnea donde aparece pam_ldap.so y de ella eliminamos la opcin use_authtok.
OpenLDAP
Linux
13
Exportar usando NFS, para lo cual editamos el fichero /etc/exports y le aadimos una lnea similar a:
/home/movil
192.168.208.0/24(rw)
exportfs ra
En el cliente:
Para tener disponible el directorio de conexin de forma automtica, agregamos al fichero /etc/fstab la lnea correspondiente, indicando que monte el directorio /home/movil que se encuentra en el servidor, en el punto de montaje /home/movil.
Con esto habramos completado la creacin de nuestro dominio en Linux para la gestin de usuarios con perfiles mviles.
OpenLDAP
Linux
14
OpenLDAP
Linux
15
JXplorer: Un explorador de LDAP basado en java, requiere tener instala la mquina virtual java de Sun (es el que se explica en el curso).
phpLDAPadmin: Es una aplicacin web escrita en PHP, para su funcionamiento es necesario que est instalado el servidor web Apache, pero como es una dependencia, si no lo est se instalar automticamente.
Para comprobar que se ha instalado correctamente, abrimos un navegador web y en la barra de direcciones escribimos: http://localhost/phpldapadmin
Es conveniente, aunque no imprescindible ajustar el fichero de configuracin de la aplicacin, este se encuentra en /usr/share/phpldapadmin/config/config.php. Como siempre hacer una copia antes de iniciar las modificaciones.
Ms all de la lnea 250 nos encontramos con la seccin que nos interesa. (Tener en cuenta que en la captura se han eliminado los comentarios) Concretamente podemos modificar: El nombre "name" del servidor LDAP (en la captura lnea 267). La base o raz del Directorio (lnea en la captura 271). El usuario administrador por defecto (lnea 275). La ip del servidor LDAP (lnea 269).
OpenLDAP
Linux
16
Este ltimo cambio es imprescindible si se ha instalado phpLDAPadmin en un equipo distinto del servidor LDAP, y se pretende hacer administracin remota de LDAP.
Una
vez
iniciado
phpLDAPadmin,
pulsamos
en
"conectar",
para
identificarnos
como
administradores:
OpenLDAP
Linux
17
La creacin de usuarios y grupos en el entorno web de phpLDAPadmin, aunque es bastante amigable tiene su aquel, por lo que se van a mostrar los pasos para la creacin de nuevos grupos y usuarios.
Creacin de grupos
Recordar que los UID y GID deben de ser nicos para cada usuario y grupo en todo el Directorio LDAP, y no deben de coincidir con los identificadores de los usuarios locales.
OpenLDAP
Linux
18
Escogemos
la
plantilla
OpenLDAP
Linux
19
En el campo RDN (Relative Distinguished Name), marcamos cn. Y rellenaremos los campos: cn: nombre del grupo. gidNumber: identificador
numrico del grupo (nico). descripcin: por si se necesita poner alguna observacin. memberUid: los usuarios que tendrn este como su grupo secundario. Contrasea: la dejamos en vaca.
Una
vez
cumplimentado,
Nos muestra el resumen y si todo est correcto, pulsamos en Cometer para que se cree la nueva entrada. Podemos comprobar que se ha
OpenLDAP
Linux
20
Creacin de usuarios
Seleccionar Crear nuevo objeto dentro de ou=usuarios. Seleccionar la opcin Predeterminado.
En la lista que aparecen las clases de objeto, seleccionar account y posixAccount (mantener pulsada la tecla Ctrl mientras se selecciona).
En
el
campo el
RDN valor
seleccione userid.
OpenLDAP
Linux
21
Por otra parte, se puede utilizar el paquete migrationstools para migrar informacin de usuarios y grupos locales (/etc/passwd, /etc/group, /etc/shadow) a LDAP.
OpenLDAP
Linux
22