Está en la página 1de 17

CentOS Directory Server

Dominio para servidores y clientes GNU/Linux Basado en 389-directory server y NFS

Dominio Linux
Manuel Moran Vaquero mmv@edu.xunta.es

Marzo 2011

Introduccion

Conguracion del servidor

Conguracion de los clientes

Material adicional

Indice

Introduccion

Conguracion del servidor

Conguracion de los clientes

Material adicional

Introduccion

Conguracion del servidor

Conguracion de los clientes

Material adicional

Por que un dominio?


Un sistema de dominio permite a los usuarios trabajar desde cualquier puesto, accediendo con la misma contrasena y viendo el mismo entorno de trabajo en todos ellos con las consiguientes ventajas de:
Aumento de la productividad y posibilidad de trabajo en grupo Interfaz y paradigma conocidos (carpetas+cheros) No dependencia de un puesto hardware

Una opcion es crear todas las cuentas de todos los usuarios en todos los clientes (manual, tedioso, costoso) La opcion que usaremos sera tener una base de datos centralizada con las contrasenas y nombres de usuario
Todos los equipos cliente se autenticaran contra dicha BD centralizada Todos los equipos consultaran los UIDs/GIDs en dicha BD, para as ver todos los mismos nombres de grupos y usuarios Dicha BD ha de ser muy rapida en lectura (aunque no nos importa que sea lenta en escritura) y por ello usaremos LDAP

El mismo servidor u otro de la red local almacenaran los archivos que veran los clientes a traves de la red, permitiendo as que los usuarios puedan hacer roaming entre los puestos

Introduccion

Conguracion del servidor

Conguracion de los clientes

Material adicional

Construir un dominio

Para conseguir los objetivos del dominio tenemos que implantar al menos estos dos sistemas:
1

Autenticacion Centralizada (SSO: Single sign-on): se usa una unica contrasena y con ella se accede a todos los servicios sin necesidad de re-autenticarse Carpetas en red: que pueden ser carpetas personales o compartidas por los demas miembros del dominio

En los distintos sistemas operativos esto se consigue con varias tecnolog as (en negrita los que vamos a ver):
Windows GNU/Linux 1 - Autenticacion Centralizada Active Directory OpenLDAP o NIS 2 - Carpetas en red Compartir carpetas NFS o pam mount+sshfs

Introduccion

Conguracion del servidor

Conguracion de los clientes

Material adicional

Arquitectura cliente/servidor del dominio

En el servidor: conguraremos la BD con los usuarios y grupos y permitiremos la comparticion de algunas carpetas para que todos los equipos puedan acceder a los datos En el cliente: conguraremos el sistema de autenticacion para que, en vez de ser contra la BD local, se haga contra el servidor. Ademas, los archivos de usuario (en general, la carpeta /home) estara montada por la red por lo que todos los clientes veran el mismo /home

Introduccion

Conguracion del servidor

Conguracion de los clientes

Material adicional

Primeros pasos
Vamos a usar dos maquinas virtuales CentOS 5: una para el cliente y otra para el servidor, aunque podemos usar tantos clientes como queramos para probar el sistema Estaran conectados como se puede ver en la gura:

La maquina servidor CentOS (miservidor.local) tendra dos interfaces de red


eth0: NAT con IP asignada por DHCP eth1: INTERNA con IP 172.30.0.1/16

Antes de comenzar, asegurate que las maquinas se ven con ping. Deshabilita el rewall para hacer las pruebas pero nunca debes dejarlo deshabilitado en un servidor en produccion

Introduccion

Conguracion del servidor

Conguracion de los clientes

Material adicional

Conguracion del servicio de directorio LDAP (I)


Instala 389-ds (Directory Server) mediante el comando # yum install centos-ds openldap-clients Anade la siguiente l nea al chero /etc/hosts para identicar a tu servidor con la IP local 172.30.0.1 miservidor.local miservidor Ejecuta la conguracion inicial del servicio de directorio # setup-ds-admin.pl Acepta los valores por defecto e introduce las contrasenas adecuadas excepto en los siguientes parametros:
Computername: miservidor.local Suffix: dc=miservidor,dc=local

Finalmente acepta los cambios e inicia el servidor de directorio # service dirsrv restart # service dirsrv-admin restart

Introduccion

Conguracion del servidor

Conguracion de los clientes

Material adicional

Conguracion del servicio de directorio LDAP (II)

En este momento ya tienes iniciado el servidor LDAP, aunque aun falta congurarlo para que se comporte como deseemos (para dar contrasenas a varios clientes con UIDs y GIDs comunes a todos ellos) Para abrir la utilidad de administracion del directorio ejecuta # centos-idm-console Tus datos de autenticacion seran
User ID: cn=Directory Manager Password: la especificada en la config. Administration URL: localhost:9830 inicial

Introduccion

Conguracion del servidor

Conguracion de los clientes

Material adicional

Conguracion del servicio de directorio LDAP (III)


Vamos a congurar un plugin muy util aunque no imprescindible, que hara una asignacion consecutiva de UIDs a los usuarios. Podemos no congurarlo pero en ese caso deber amos acordarnos del ultimo UID asignado para no asignarselo al siguiente miservidor.local Server Group Directory Server Boton Open Conguration Plugins Distributed Numeric Assignment Enable plug-in Save Introduce en un chero llamado conf.ldif el texto que gura en la siguiente pagina Ejecuta el comando, sustituyendo el campo **password** por la clave del directory manager
# ldapmodify -a -D cn="directory manager" -w **password** -f conf.ldif

Reinicia el servidor de directorio

Introduccion

Conguracion del servidor

Conguracion de los clientes

Material adicional

conf.ldif

# uids dn: cn=UID numbers,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config objectClass: top objectClass: extensibleObject cn: UID numbers dnatype: uidNumber dnamagicregen: 99999 dnafilter: (objectclass=posixAccount)) dnascope: dc=miservidor,dc=local dnanextvalue: 1000 # gids dn: cn=GID numbers,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config objectClass: top objectClass: extensibleObject cn: GID numbers dnatype: gidNumber dnamagicregen: 99999 dnafilter: (|(objectclass=posixAccount)(objectclass=posixGroup)) dnascope: dc=miservidor,dc=local dnanextvalue: 1000

Introduccion

Conguracion del servidor

Conguracion de los clientes

Material adicional

Congurar el servidor para que use autenticacion LDAP

Ejecuta # system-config-authentication Ficha Informacion: Habilitar Soporte LDAP + Congurar LDAP DN base: dc=miservidor,dc=local Servidor LDAP: ldap://172.30.0.1 Ficha autenticacion: Habilitar Soporte LDAP Ficha Opciones: Activar Crear los directorios home al ingresar la primera vez

Introduccion

Conguracion del servidor

Conguracion de los clientes

Material adicional

Anadir grupos al LDAP

Ficha Directory miservidor (boton derecho) New Group En primer lugar vamos a crear un grupo usuarios para poderlo asignar como grupo principal de todos los usuarios Una vez que pongamos el nombre del grupo (usuarios) pincharemos en... Advanced Pincha en objectclass Add Value Posixgroup En el campo gidnumber ponemos un GID para el grupo usuarios. Por ejemplo: 600 Los demas grupos se crean de igual forma, y podemos anadir a los usuarios a traves del mismo interfaz graco a dicho grupo

Introduccion

Conguracion del servidor

Conguracion de los clientes

Material adicional

Anadir usuarios al LDAP


Ficha Directory miservidor (boton derecho) New User Rellena en primer lugar los campos de la cha User En la cha posix activa enable posix attributes y rellena con: UID: 99999 GID: 600 Home Directory: /home/nombredeusuario Login shell: /bin/bash El valor 99999 hace uso del plugin que conguramos anteriormente y lo que hace es sustituir ese valor por el primer UID libre Nos loggearemos una vez en el servidor con dicho nombre de usuario para ver si funciona y as se creara ademas automaticamente su /home: ssh nombredeusuario@localhost Todo este proceso de anadir un usuario, se automatiza luego con scripts para anadir los demas en masa con ldapadd

Introduccion

Conguracion del servidor

Conguracion de los clientes

Material adicional

Congurar la exportacion de /home

Para que los clientes de tu red puedan montar el /home del servidor hemos de congurar el servicio NFS Edita el chero /etc/exports y escribe en el la siguiente l nea (ojo, respetar la ausencia de espacios antes del parentesis) /home 172.30.0.0/16(rw) Arranca el servicio NFS # service nfs restart

Introduccion

Conguracion del servidor

Conguracion de los clientes

Material adicional

Conguracion del cliente para autenticacion por LDAP


Proceso identico a la conguracion del servidor Ejecuta # system-config-authentication Ficha Informacion: Habilitar Soporte LDAP + Congurar LDAP DN base: dc=miservidor,dc=local Servidor LDAP: ldap://172.30.0.1 Ficha autenticacion: Habilitar Soporte LDAP Si te intentas conectar ahora desde una terminal texto en el cliente con un usuario del dominio, veras que puedes entrar (=la autenticacion funciona) pero no ves tu home. Cierra esta sesion de usuario antes de pasar al siguiente paso

Introduccion

Conguracion del servidor

Conguracion de los clientes

Material adicional

Conguracion del cliente para el montaje de /home remoto


Sal de todas las sesiones de usuario local Asegurate de que /home es un punto de montaje valido (creado y vac o) Edita /etc/fstab y anade la siguiente l nea: 172.30.0.1:/home /home nfs defaults 0 0 Monta /home y comprueba que ves todas las carpetas del /home del servidor Entra en una terminal de texto del cliente y comprueba que ahora s ves tu home del servidor Reinicia la maquina cliente y entra en modo graco desde el cliente y comprueba que tanto los ajustes como las conguraciones de programa se conservan si te loggeas con esa misma cuenta en otra maquina cliente o en el propio servidor

Introduccion

Conguracion del servidor

Conguracion de los clientes

Material adicional

Material adicional
Parte de este material se ha realizado con los tutoriales de
http://www.linuxmail.info/389-directory-server-howto-centos-5/

VirtualBox no te permite insertar dos VDIs con el mismo UUID. Para cambiar el UUID debes usar el siguiente comando: vboxmanage internalcommands sethduuid copiadelhd.vdi El protocolo NFS es inseguro si los usuarios tienen la posibilidad de convertirse en root en las maquinas cliente. En ese caso debe usarse pam mount con sshfs para el montaje de la carpeta /home del usuario bajo demanda Extender este servidor LDAP para que tambien sea servidor de dominio Windows es muy facil, aunque para pocos usuarios podemos usar soluciones out-of-the-box como zentyal

También podría gustarte