Está en la página 1de 22

10011010001011011100101001001 10100010110111001010010011010 00101101110010100100110100010 11011100101001001101000101101 11001010010011010001011011100 10100100110100010110111001010 Redes de rea local 01001101000101101110010100100 Aplicaciones y servicios en Linux 11010001011011100101001001101 Edicin

de Febrero de 2011 00010110111001010010011010001 Luis Quesada Daz 01101110010100100110100010110 11100101001001101000101101110 01010010011010001011011100101 00100110100010110111001010010 01101000101101110010100100110 10001011011100101001001101000 10110111001010010011010001010 10110111001010010011010001011 01110010100100110100010110111

El servidor de mi centro debera ofrecer los siguientes servicios:


Servidor Web Apache con PHP y con el servidor de bases de datos MySQL, para que la intranet del centro pueda servir a los distintos cursos contenidos educativos y a los profesores adems de recursos les facilite la tarea administrativa.

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.

El desarrollo se realiza sobre Ubuntu 10.04 LTS.

OpenLDAP

Linux

Instalacin del servidor OpenLDAP en Ubuntu 10.04


Instalacin de OpenLDAP
El servidor OpenLDAP est disponible en el paquete slapd por tanto, lo instalaremos utilizando apt-get.

apt-get install slapd ldap-utils

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 inicial de la base de datos


Copiar el siguiente archivo LDIF el nombre 1_conf_bd.ldif en algn lugar de su sistema:

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

Algunos parmetros importantes especificados en el anterior LDIF.

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.

Agregar el LDIF al Directorio:

ldapadd -Y EXTERNAL -H ldapi:/// -f 1_conf_bd.ldif

Nuestro Directorio ya est listo para ser poblado.

Se puede comprobar que se ha llevado a cabo la configuracin ejecutando:

ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts

OpenLDAP

Linux

Estructura mnima del directorio


El siguiente paso consiste en crear la estructura mnima del Directorio, sobre la que se conectarn las unidades organizativas y elementos del directorio. A esta estructura se le llama DIT (LDAP Directory Information Tree). Como en el paso anterior creamos un fichero LDIF, llamado por ejemplo 2_dit.ldit, que contendr:

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

ldapadd -x -D "cn=hortelano,dc=vergel,dc=es" -W -f 2_dit.ldif


En nuestro ejemplo el password es tierra. Para comprobar que el hortelano ya est preparado para cuidar su vergel:

ldapsearch -x -b 'dc=vergel,dc=es' cn=hortelano

Crear Unidades Organizativas


Ahora creamos dos unidades organizativas, una de ellas para albergar los grupos y otra para los usuarios. Usamos igualmente un fichero ldif, para almacenar las definiciones, llamndolo por ejemplo 3_base.ldif. # Creacin unidad organizativa "usuarios" dn: ou=usuarios,dc=vergel,dc=es ou: usuarios objectClass: top objectClass: organizationalUnit

OpenLDAP

Linux

# Creacin unidad organizativa "grupos" dn: ou=grupos,dc=vergel,dc=es ou: grupos objectClass: top objectClass: organizationalUnit

Aadimos la informacin al Directorio:

ldapadd -x -D "cn=hortelano,dc=vergel,dc=es" -W -f 3_base.ldif

Comprobar buscando la unidad organizativa "usuarios".

ldapsearch -x -b 'dc=vergel,dc=es' ou=usuarios

Creacin de usuarios y grupos


Creacin del fichero 4_nuevo_grupo.ldif: # Creacin del grupo "frutales" dn: cn=frutales,ou=grupos,dc=vergel,dc=es objectClass: posixGroup objectClass: top cn: frutales gidNumber: 5000 # memberUid: manzano

ldapadd -x -D "cn=hortelano,dc=vergel,dc=es" -W -f 4_nuevo_grupo.ldif

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:

ldapsearch -x -b "ou=usuarios,dc=vergel,dc=es" uid=manzano -x


Para que no use el mtodo de autenticacin SASL, que es el mtodo predeterminado.

-b
Base donde se encuentra el objeto que estamos buscando.

Configuracin de un cliente LDAP


Software necesario en el cliente de LDAP
Dos paquetes son necesarios: libpam-ldap libnss-ldap nscd (Name Service Cache Daemon) Opcional

Utilizando el comando siguiente se instalarn los paquetes: libpam-ldap

OpenLDAP

Linux

libnss-ldap auth-client-config ldap-auth-client ldap-auth-config

apt-get install libpam-ldap

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://.

En la segunda se especifica el DN (nombre distinguido) de la base de datos.

OpenLDAP

Linux

A continuacin seleccionamos la versin 3.

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.

Para hacer cambios en esta configuracin se ejecuta el comando

dpkg-reconfigure ldap-auth-config

OpenLDAP

Linux

10

Configuracin del servicio NSS


En el fichero /etc/nsswitch se especifica el orden de bsqueda de informacin, en nuestro caso queremos autenticar a los usuarios, por lo que slo tendremos que aadir la palabra ldap al final de las lneas que comienzan por passwd:, group: y shadow:.

vi /etc/nsswitch.conf
Buscamos las siguientes 3 lneas:

passwd: compat group: compat shadow: compat


Y las reemplazamos para que queden as:

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

(La operacin anterior se puede llevar a cabo con el siguiente comando:

auth-client-config -t nss -p lac_ldap)

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:

getent group getent passwd


Si tenemos el servidor LDAP funcionando, en la respuesta debe de incluir a los usuarios creados en el Directorio LDAP.

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

pamtest login usuario

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.

Un usuario del Directorio se cambia su passwd.

OpenLDAP

Linux

13

Gestin de los directorios de conexin para habilitar perfiles mviles


En el servidor:
Crear el directorio /home/movil, para que contenga todos los directorios de conexin de los usuarios mviles. Dar de altas los usuarios en el servidor, lo que nos facilita poder conectarnos tambin desde el servidor sin que este sea cliente ldap, y adems es necesario para poder poner sus directorios de conexin de su propiedad.
groupadd -g 5000 frutales useradd -d /home/movil/manzano m -u 5000 -g frutales -s /bin/bash manzano

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)

Una vez guardado el fichero para que se haga efectivo el cambio:

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

Gestin grfica de usuarios y grupos


Para acceder al Directorio LDAP y poder crear y modificar objetos de una forma cmoda, es necesario disponer de un explorador de Directorios LDAP (LDAP browser). Existen muchos exploradores LDAP, entre los libres encontramos: gq: GQ LDAP client. Se instala con apt-get install gq Para ejecutarlo debemos pulsar alt + F2 y escribir gq. La primera vez que lo usamos tenemos que configurar el servidor, para ello accedemos a travs del men a: Men File -> Preferences -> Servers -> Nuevo E indicamos los datos de nuestro servidor LDAP, tanto en la pestaa Server como Connections. NOTA: es importante reiniciar gq tras cualquier configuracin.

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.

apt-get install phpldapadmin

Para comprobar que se ha instalado correctamente, abrimos un navegador web y en la barra de direcciones escribimos: http://localhost/phpldapadmin

Nos debera aparecer la pantalla principal de 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.

Seleccionar la opcin Crear nuevo objeto dentro de ou=grupos.

OpenLDAP

Linux

18

Escogemos

la

plantilla

"Predeterminado", ya que nos da ms flexibilidad a la hora de definir el nuevo objeto.

En la lista de clases de objetos seleccionamos posixGroup y pulsamos en "Proceder".

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,

pulsamos en Crear objeto.

Nos muestra el resumen y si todo est correcto, pulsamos en Cometer para que se cree la nueva entrada. Podemos comprobar que se ha

creado en el esquema del Directorio de la parte izquierda.

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.

Se deben de rellenar, adems de los campos obligatorios, loginShell y el userPassword.

OpenLDAP

Linux

21

Finalmente confirmamos el alta, en la traduccin "Cometer".

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

También podría gustarte