Configurar un dominio con OpenLDAP

De Deseño, implantación e configuración dun dominio/rede Linux.
Ir a la navegación Ir a la búsqueda

Os pasos que teremos que realizar para configurar un dominio con OpenLDAP son:

Instalación e configuración do servidor de OpenLDAP


Xestionar o LDAP con LDAP Account Manager

  • Para poder utilizala teremos que ter lanzado o servidor web apache no equipo, polo que deberemos lanzar antes de nada o servizo httpd.


Configurar LDAP Account Manager

  • Con un navegador conectarémonos á dirección:
http://localhost/ldap-account-manager (En Mandriva)
http://localhost/lam (En Ubuntu)
  • Accedemos á páxina inicial da ferramenta:

Lam1.jpg


  • Picaremos sobre LAM configuration para configurar o funcionamento básico de LAM (siglas de LDAP Account Manager):

Lam2.jpg


  • Na opción de Edit general settings accedemos a parámetros de configuración de seguridade de LAM, como cambiar a clave principal da ferramenta (por defecto é lam), establecer que só certas máquinas poidan acceder ou o nivel de logging ou rexistro das accións realizadas.
  • A opción de Edit server profiles permite configurar os parámetros do servidor LDAP que imos xestionar. Introduciremos os datos do noso dominio:

Lam3.jpg Lam4.jpg


  • Xa podemos intentar acceder ao noso servidor LDAP. Accederemos poñendo na pantalla inicial a clave do administrador.
  • Cando entremos por primeira vez, LAM detectará que o LDAP está baleiro e nos dará a opción de crear os cartafoles principais (en LDAP chamados Unidades Organizativas ou OUs) onde almacenar os usuarios, grupos, máquinas e dominios no LDAP.

Lam5.jpg


  • Pero se nos fixamos nas estruturas que vai crear, non corresponden ao sufixo da nosa árbore LDAP senón ao sufixo por defecto dc=my-domain,dc=com. Isto é debido a que LAM trae por defecto configurado este sufixo.
  • Para resolver este problema, reemprazaremos no ficheiro de configuración de LAM o texto dc=my-domain,dc=com por dc=omeudominio,dc=local,
  • Este ficheiro, que en Mandriva se atopa en /var/www/ldap-account-manager/config/lam.conf e en Ubuntu en /usr/share/ldap-account-manager/config/lam.conf quedaría cos seguintes valores:
types: suffix_user: ou=People,dc=omeudominio,dc=local
types: suffix_group: ou=group,dc=omeudominio,dc=local
types: suffix_host: ou=machines,dc=omeudominio,dc=local
types: suffix_smbDomain: ou=domains,dc=omeudominio,dc=local
  • Se agora volvemos a entrar en LAM, a páxina xa nos indicará:

Lam6.jpg


  • Agora si que accedemos a crealas e nos atoparemos na páxina principal de LAM:

Lam7.jpg


Xestión dos usuarios e grupos do LDAP con LDAP Account Manager

  • Nas distintas opcións superiores de Users, Groups, Hosts e Samba domains podemos administrar os usuarios, grupos, máquinas e dominios de samba almacenados no LDAP respectivamente.
  • LAM está orientada a xestionar un servidor LDAP que autentifique tamén a un dominio samba, e non nos permitirá crear usuarios ou grupos sen antes crear un dominio samba ao que asignalos.
  • Polo tanto, en primeiro lugar crearemos un dominio samba, que será xa o que utilicemos despois cando integremos samba con LDAP. Picamos en Samba domains:

Lam9.jpg

  • Para obter o SID do dominio, executamos como root no servidor de samba o comando:
net getlocalsid
  • A continuación podemos crear un grupo de usuarios (necesario para poder crear un usuario), picando en Groups:

Lam8.jpg


  • E por último podemos crear un usuario:

Lam11.jpg


Instalación e configuración do cliente LDAP

  • A continuación debemos configurar os clientes Linux para que se autentifique contra o servidor LDAP:
    • Instalación e configuración do cliente de LDAP en Mandriva:
    • Instalación e configuración do cliente de LDAP en Ubuntu:
      • Deberemos instalar os seguintes paquetes:
        • libnss-ldap, libpam-ldap: Necesarios para xestionar a autentificación do sistema por medio do servidor LDAP. Na configuración dos paquetes seguiremos os mesmos pasos que no servidor, pero cambiando localhost pola dirección IP do servidor LDAP.
      • Configuración do ficheiro /etc/nsswitch.conf:
passwd:       files ldap
group:        files ldap
shadow:       files ldap
      • Configuración de PAM (Sistema de autentificación modular de Linux) para que utilice LDAP para autentificar aos usuarios. O contido destes ficheiros quedaría da seguinte forma:
Ficheiro /etc/pam.d/common-auth:
     auth	sufficient	pam_ldap.so
     auth	required	pam_unix.so nullok_secure try_first_pass
Ficheiro /etc/pam.d/common-session:
     session   optional 	pam_mkhomedir.so skel=/etc/skel umask=077
     session	sufficient	pam_ldap.so
     session	required	pam_unix.so try_first_pass
     session	optional	pam_foreground.so
Ficheiro /etc/pam.d/common-password:
     password	sufficient	pam_ldap.so
     password   required   pam_unix.so nullok obscure min=4 max=8 md5 try_first_pass
Ficheiro /etc/pam.d/common-account:
     account	sufficient	pam_ldap.so
     account	required	pam_unix.so try_first_pass
      • A primeira liña incluída no ficheiro common-session serve para que se cree automaticamente o ficheiro persoal do usuario cando inicie sesión se non existe. Isto é necesario porque LDAP Account Manager non creará automaticamente os ficheiros persoais dos usuarios ao crealos.


  • Para poder xestionar o dominio correctamente, e conveniente que o servidor de dominio tamén se autentifique contra o LDAP, polo que sera necesario configurar tamén no servidor o cliente LDAP.

Configurar o acceso ás carpetas persoais dos usuarios do dominio

  • Podemos comprobar que se pretendemos entrar nun equipo cliente cun usuario do LDAP o contorno gráfico informará dunha serie de erros e non poderemos iniciar a sesión.
  • Este problema é debido a que o equipo cliente non pode acceder á carpeta persoal do usuario, e deberemos configurar tanto cliente como servidor para montar nos equipos clientes as carpetas persoais dos usuarios do dominio.


Actividade: Creación dun dominio con LDAP

1. Instala o servidor OpenLDAP e configúrao co dominio nome_do_teu_centro.local, 
   é dicir, co sufixo dc=nome_do_teu_centro,dc=local.
2. Instala no servidor a ferramenta LDAP Account Manager e configúraa para manexar este servidor LDAP.
3. Crea no servidor LDAP o usuario alumno02, con clave abc123. e carpeta persoal en /homes/alumno02.
4. Configura o servidor para que tome os usuarios do LDAP e comproba que podes iniciar sesión co usuario
   alumno02.
5. Configura o equipo cliente para que tome os usuarios do LDAP e comproba que podes iniciar sesión 
   co usuario alumno02.
6. Configura o equipo servidor para que tome os usuarios do LDAP e comproba que podes iniciar sesión 
   co usuario alumno02.


Cambiar o contrasinal do usuario nun dominio con LDAP

  • Os usuarios do dominio poden cambiar a súa clave utilizando o propio comando passwd utilizado normalmente en Linux ou calquera ferramenta gráfica que faga uso deste comando.


Migrar os usuarios do sistema ao LDAP

  • Se xa temos un dominio funcionando con NIS, seguramente nos interesará poder migrar os usuarios que temos no sistema exportados por NIS á árbore do LDAP.
  • O paquete migrationtools inclúe un conxunto de scripts que permiten migrar automaticamente os usuarios do sistema ao LDAP.
  • Unha vez instalado o paquete, seguiremos os seguintes pasos:
    • Editamos o ficheiro /usr/share/migrationtools/migrate_common.ph, modificando os seguintes parámetros:
$DEFAULT_BASE = "dc=omeudominio,dc=local";
$EXTENDED_SCHEMA = 1;
    • Executamos os scripts que xeneran, a partir dos ficheiros de usuarios, claves, grupos e máquinas do sistema, ficheiros en formato ldif para ser exportados despois ao LDAP:
export ETC_SHADOW=/etc/shadow
cd /usr/share/migrationtools
/usr/share/migrationtools/migrate_base.pl > /tmp/base.ldif
/usr/share/migrationtools/migrate_group.pl /etc/group /tmp/group.ldif
/usr/share/migrationtools/migrate_hosts.pl /etc/hosts /tmp/hosts.ldif
/usr/share/migrationtools/migrate_passwd.pl /etc/passwd /tmp/passwd.ldif
    • Utilizamos o comando ldapadd (paquete ldap-utils en Ubuntu) para engadir a información destes ficheiros no LDAP:
ldapadd -D "cn=Manager,dc=omeudominio,dc=local" -x -W -f /tmp/base.ldif
ldapadd -D "cn=Manager,dc=omeudominio,dc=local" -x -W -f /tmp/group.ldif
ldapadd -D "cn=Manager,dc=omeudominio,dc=local" -x -W -f /tmp/passwd.ldif
ldapadd -D "cn=Manager,dc=omeudominio,dc=local" -x -W -f /tmp/hosts.ldif

Ficheiros de configuración máis importantes

  • Os ficheiros básicos de configuración do cliente e servidor de LDAP son:
    • slapd.conf: Ficheiro básico de configuración do servidor OpenLDAP.
    • ldap.conf: Ficheiro básico de configuración do cliente LDAP.
    • nsswitch.conf: Ficheiro de configuración das fontes de datos do sistema