Centos 389 Directory Server: Dominio para entornos Cliente / Servidor Linux

  • 8,948 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
8,948
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
206
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. CentOS Directory ServerDominio para servidores y clientes GNU/Linux Basado en 389-directory server y NFS Dominio Linux Manuel Moran Vaquero ´ mmv@edu.xunta.es Marzo 2011
  • 2. Introduccion ´ Configuracion del servidor ´ Configuracion de los clientes ´ Material adicional´ndiceI 1 Introduccion ´ 2 Configuracion del servidor ´ 3 Configuracion de los clientes ´ 4 Material adicional
  • 3. Introduccion ´ Configuracion del servidor ´ Configuracion 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+ficheros) 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 autentificaran 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 ı
  • 4. Introduccion ´ Configuracion del servidor ´ Configuracion de los clientes ´ Material adicionalConstruir un dominio Para conseguir los objetivos del dominio tenemos que implantar al menos estos dos sistemas: 1 Autentificacion Centralizada (SSO: Single sign-on): se usa ´ una unica contrasena y con ella se accede a todos los servicios ´ ˜ sin necesidad de re-autentificarse 2 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): ı 1 - Autentificacion Centralizada ´ 2 - Carpetas en red Windows Active Directory Compartir carpetas GNU/Linux OpenLDAP o NIS NFS o pam mount+sshfs
  • 5. Introduccion ´ Configuracion del servidor ´ Configuracion de los clientes ´ Material adicionalArquitectura cliente/servidor del dominio En el servidor: configuraremos 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: configuraremos el sistema de autentificacion ´ 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 ´
  • 6. Introduccion ´ Configuracion del servidor ´ Configuracion de los clientes ´ Material adicionalPrimeros 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 figura: ´ 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 firewall para hacer las pruebas pero nunca debes dejarlo deshabilitado en un servidor en produccion ´
  • 7. Introduccion ´ Configuracion del servidor ´ Configuracion de los clientes ´ Material adicionalConfiguracion 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 fichero /etc/hosts para identificar a ˜ ı tu servidor con la IP local 172.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 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
  • 8. Introduccion ´ Configuracion del servidor ´ Configuracion de los clientes ´ Material adicionalConfiguracion del servicio de directorio LDAP (II) ´ En este momento ya tienes iniciado el servidor LDAP, aunque aun falta configurarlo 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 autentificacion seran ´ ´ User ID: cn=Directory Manager Password: la especificada en la config. inicial Administration URL: localhost:9830
  • 9. Introduccion ´ Configuracion del servidor ´ Configuracion de los clientes ´ Material adicionalConfiguracion 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 deber´amos acordarnos ı del ultimo UID asignado para no asignarselo al siguiente ´ ´ miservidor.local → Server Group → Directory Server → Boton ´ Open Configuration → Plugins → Distributed Numeric Assignment → Enable plug-in → Save Introduce en un fichero llamado conf.ldif el texto que figura 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
  • 10. Introduccion ´ Configuracion del servidor ´ Configuracion de los clientes ´ Material adicionalconf.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
  • 11. Introduccion ´ Configuracion del servidor ´ Configuracion de los clientes ´ Material adicionalConfigurar el servidor para que useautentificacion LDAP ´ Ejecuta # system-config-authentication Ficha Informacion: Habilitar Soporte LDAP + Configurar LDAP ´ DN base: dc=miservidor,dc=local Servidor LDAP: ldap://172.30.0.1 Ficha autentificacion: Habilitar Soporte LDAP ´ Ficha Opciones: Activar Crear los directorios home al ingresar la primera vez
  • 12. Introduccion ´ Configuracion del servidor ´ Configuracion de los clientes ´ Material adicionalAnadir 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 grafico a dicho grupo ´ ´
  • 13. Introduccion ´ Configuracion del servidor ´ Configuracion de los clientes ´ Material adicionalAnadir usuarios al LDAP ˜ Ficha Directory → miservidor (boton derecho) → New → User ´ Rellena en primer lugar los campos de la ficha User En la ficha 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 configuramos 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 ˜ ´
  • 14. Introduccion ´ Configuracion del servidor ´ Configuracion de los clientes ´ Material adicionalConfigurar la exportacion de /home ´ Para que los clientes de tu red puedan montar el /home del servidor hemos de configurar el servicio NFS Edita el fichero /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
  • 15. Introduccion ´ Configuracion del servidor ´ Configuracion de los clientes ´ Material adicionalConfiguracion del cliente para autentificacion por ´ ´LDAP Proceso identico a la configuracion del servidor ´ ´ Ejecuta # system-config-authentication Ficha Informacion: Habilitar Soporte LDAP + Configurar LDAP ´ DN base: dc=miservidor,dc=local Servidor LDAP: ldap://172.30.0.1 Ficha autentificacion: 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 autentificacion funciona) pero no ves tu home. Cierra esta ´ sesion de usuario antes de pasar al siguiente paso ´
  • 16. Introduccion ´ Configuracion del servidor ´ Configuracion de los clientes ´ Material adicionalConfiguracion 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 grafico desde el ´ ´ cliente y comprueba que tanto los ajustes como las configuraciones de programa se conservan si te loggeas con esa misma cuenta en otra maquina cliente o en el propio ´ servidor
  • 17. Introduccion ´ Configuracion del servidor ´ Configuracion de los clientes ´ Material adicionalMaterial 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