centos directory server

17
CentOS Directory Server Dominio para servidores y clientes GNU/Linux Basado en 389-directory server y NFS Dominio Linux Manuel Mor ´ an Vaquero [email protected] Marzo 2011

Upload: enrique-herrera-noya

Post on 19-Oct-2015

17 views

Category:

Documents


0 download

DESCRIPTION

Configuracion de CentosDirectory en centos 6

TRANSCRIPT

  • CentOS Directory ServerDominio para servidores y clientes GNU/Linux

    Basado en 389-directory server y NFS

    Dominio Linux

    Manuel Moran [email protected]

    Marzo 2011

  • Introduccion Configuracion del servidor Configuracion de los clientes Material adicional

    Indice

    1 Introduccion

    2 Configuracion del servidor

    3 Configuracion de los clientes

    4 Material adicional

  • Introduccion Configuracion del servidor Configuracion de los clientes Material adicional

    Por que un dominio?

    Un sistema de dominio permite a los usuarios trabajar desdecualquier puesto, accediendo con la misma contrasena yviendo el mismo entorno de trabajo en todos ellos con lasconsiguientes ventajas de:

    Aumento de la productividad y posibilidad de trabajo en grupoInterfaz y paradigma conocidos (carpetas+ficheros)No dependencia de un puesto hardware

    Una opcion es crear todas las cuentas de todos los usuarios entodos los clientes (manual, tedioso, costoso)La opcion que usaremos sera tener una base de datoscentralizada con las contrasenas y nombres de usuario

    Todos los equipos cliente se autentificaran contra dicha BDcentralizadaTodos los equipos consultaran los UIDs/GIDs en dicha BD, paraas ver todos los mismos nombres de grupos y usuariosDicha BD ha de ser muy rapida en lectura (aunque no nosimporta que sea lenta en escritura) y por ello usaremos LDAP

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

  • Introduccion Configuracion del servidor Configuracion de los clientes Material adicional

    Construir un dominio

    Para conseguir los objetivos del dominio tenemos queimplantar al menos estos dos sistemas:

    1 Autentificacion Centralizada (SSO: Single sign-on): se usauna unica contrasena y con ella se accede a todos los serviciossin necesidad de re-autentificarse

    2 Carpetas en red: que pueden ser carpetas personales ocompartidas por los demas miembros del dominio

    En los distintos sistemas operativos esto se consigue convarias tecnologas (en negrita los que vamos a ver):

    1 - Autentificacion Centralizada 2 - Carpetas en redWindows Active Directory Compartir carpetas

    GNU/Linux OpenLDAP o NIS NFS o pam mount+sshfs

  • Introduccion Configuracion del servidor Configuracion de los clientes Material adicional

    Arquitectura cliente/servidor del dominio

    En el servidor: configuraremos la BD con los usuarios ygrupos y permitiremos la comparticion de algunas carpetaspara que todos los equipos puedan acceder a los datos

    En el cliente: configuraremos el sistema de autentificacionpara que, en vez de ser contra la BD local, se haga contra elservidor. Ademas, los archivos de usuario (en general, lacarpeta /home) estara montada por la red por lo que todos losclientes veran el mismo /home

  • Introduccion Configuracion del servidor Configuracion de los clientes Material adicional

    Primeros pasos

    Vamos a usar dos maquinas virtuales CentOS 5: una para elcliente y otra para el servidor, aunque podemos usar tantosclientes como queramos para probar el sistemaEstaran conectados como se puede ver en la figura:

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

    eth0: NAT con IP asignada por DHCPeth1: INTERNA con IP 172.30.0.1/16

    Antes de comenzar, asegurate que las maquinas se ven conping. Deshabilita el firewall para hacer las pruebas pero nuncadebes dejarlo deshabilitado en un servidor en produccion

  • Introduccion Configuracion del servidor Configuracion de los clientes Material adicional

    Configuracion del servicio de directorio LDAP (I)

    Instala 389-ds (Directory Server) mediante el comando# yum install centos-ds openldap-clients

    Anade la siguiente lnea al fichero /etc/hosts para identificar atu servidor con la IP local172.30.0.1 miservidor.local miservidor

    Ejecuta la configuracion inicial del servicio de directorio# setup-ds-admin.pl

    Acepta los valores por defecto e introduce las contrasenasadecuadas 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 Configuracion del servidor Configuracion de los clientes Material adicional

    Configuracion del servicio de directorio LDAP (II)

    En este momento ya tienes iniciado el servidor LDAP, aunqueaun falta configurarlo para que se comporte como deseemos(para dar contrasenas a varios clientes con UIDs y GIDscomunes a todos ellos)

    Para abrir la utilidad de administracion del directorio ejecuta# centos-idm-console

    Tus datos de autentificacion seranUser ID: cn=Directory Manager

    Password: la especificada en la config. inicial

    Administration URL: localhost:9830

  • Introduccion Configuracion del servidor Configuracion de los clientes Material adicional

    Configuracion del servicio de directorio LDAP (III)

    Vamos a configurar un plugin muy util aunque no imprescindible,que hara una asignacion consecutiva de UIDs a los usuarios.Podemos no configurarlo pero en ese caso deberamos acordarnosdel ultimo UID asignado para no asignarselo al siguiente

    miservidor.local Server Group Directory Server BotonOpen

    Configuration Plugins Distributed Numeric Assignment Enable plug-in SaveIntroduce en un fichero llamado conf.ldif el texto que figura enla siguiente pagina

    Ejecuta el comando, sustituyendo el campo **password** por laclave del directory manager# ldapmodify -a -D cn="directory manager" -w **password** -f conf.ldif

    Reinicia el servidor de directorio

  • Introduccion Configuracion del servidor Configuracion de los clientes Material adicional

    conf.ldif

    # uidsdn: cn=UID numbers,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=configobjectClass: topobjectClass: extensibleObjectcn: UID numbersdnatype: uidNumberdnamagicregen: 99999dnafilter: (objectclass=posixAccount))dnascope: dc=miservidor,dc=localdnanextvalue: 1000

    # gidsdn: cn=GID numbers,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=configobjectClass: topobjectClass: extensibleObjectcn: GID numbersdnatype: gidNumberdnamagicregen: 99999dnafilter: (|(objectclass=posixAccount)(objectclass=posixGroup))dnascope: dc=miservidor,dc=localdnanextvalue: 1000

  • Introduccion Configuracion del servidor Configuracion de los clientes Material adicional

    Configurar el servidor para que useautentificacion LDAP

    Ejecuta # system-config-authentication

    Ficha Informacion: Habilitar Soporte LDAP + Configurar LDAPDN base: dc=miservidor,dc=localServidor LDAP: ldap://172.30.0.1

    Ficha autentificacion: Habilitar Soporte LDAP

    Ficha Opciones: Activar Crear los directorios home al ingresarla primera vez

  • Introduccion Configuracion del servidor Configuracion de los clientes Material adicional

    Anadir grupos al LDAP

    Ficha Directory miservidor (boton derecho) New GroupEn primer lugar vamos a crear un grupo usuarios para poderloasignar como grupo principal de todos los usuarios

    Una vez que pongamos el nombre del grupo (usuarios)pincharemos en...

    Advanced Pincha en objectclass Add Value PosixgroupEn el campo gidnumber ponemos un GID para el grupousuarios. Por ejemplo: 600

    Los demas grupos se crean de igual forma, y podemos anadira los usuarios a traves del mismo interfaz grafico a dicho grupo

  • Introduccion Configuracion del servidor Configuracion de los clientes Material adicional

    Anadir usuarios al LDAP

    Ficha Directory miservidor (boton derecho) New UserRellena en primer lugar los campos de la ficha User

    En la ficha posix activa enable posix attributes y rellena con:UID: 99999GID: 600Home Directory: /home/nombredeusuarioLogin shell: /bin/bash

    El valor 99999 hace uso del plugin que configuramosanteriormente y lo que hace es sustituir ese valor por el primerUID libre

    Nos loggearemos una vez en el servidor con dicho nombre deusuario para ver si funciona y as se creara ademasautomaticamente su /home:ssh nombredeusuario@localhost

    Todo este proceso de anadir un usuario, se automatiza luegocon scripts para anadir los demas en masa con ldapadd

  • Introduccion Configuracion del servidor Configuracion de los clientes Material adicional

    Configurar la exportacion de /home

    Para que los clientes de tu red puedan montar el /home delservidor hemos de configurar el servicio NFS

    Edita el fichero /etc/exports y escribe en el la siguiente lnea(ojo, respetar la ausencia de espacios antes del parentesis)/home 172.30.0.0/16(rw)

    Arranca el servicio NFS# service nfs restart

  • Introduccion Configuracion del servidor Configuracion de los clientes Material adicional

    Configuracion del cliente para autentificacion porLDAP

    Proceso identico a la configuracion del servidor

    Ejecuta # system-config-authentication

    Ficha Informacion: Habilitar Soporte LDAP + Configurar LDAPDN base: dc=miservidor,dc=localServidor LDAP: ldap://172.30.0.1

    Ficha autentificacion: Habilitar Soporte LDAP

    Si te intentas conectar ahora desde una terminal texto en elcliente con un usuario del dominio, veras que puedes entrar(=la autentificacion funciona) pero no ves tu home. Cierra estasesion de usuario antes de pasar al siguiente paso

  • Introduccion Configuracion del servidor Configuracion de los clientes Material adicional

    Configuracion 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 (creadoy vaco)

    Edita /etc/fstab y anade la siguiente lnea: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 queahora s ves tu home del servidor

    Reinicia la maquina cliente y entra en modo grafico desde elcliente y comprueba que tanto los ajustes como lasconfiguraciones de programa se conservan si te loggeas conesa misma cuenta en otra maquina cliente o en el propioservidor

  • Introduccion Configuracion del servidor Configuracion de los clientes Material adicional

    Material adicional

    Parte de este material se ha realizado con los tutoriales dehttp://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 laposibilidad de convertirse en root en las maquinas cliente. Enese caso debe usarse pam mount con sshfs para el montaje dela carpeta /home del usuario bajo demanda

    Extender este servidor LDAP para que tambien sea servidor dedominio Windows es muy facil, aunque para pocos usuariospodemos usar soluciones out-of-the-box como zentyal

    Introduccin

    Configuracin del servidor

    Configuracin de los clientes

    Material adicional