Configurar un dominio con OpenLDAP
Revisión del 17:03 5 jul 2007 de Eribe (discusión | contribs.) (→Migrar os usuarios do sistema ao LDAP)
Os pasos que teremos que realizar para configurar un dominio con OpenLDAP son:
Instalación e configuración do servidor de OpenLDAP
- O primeiro paso é configurar un equipo como servidor de LDAP:
- Para que o servizo de LDAP funcione correctamente, debemos configurar o firewall para que permita as conexións dos clientes polo portos 389 e 636 (para conexión segura).
Xestionar o LDAP con LDAP Account Manager
- LDAP Account Manager é unha ferramenta web para a xestión dos usuarios dun servidor LDAP.
- 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:
- Picaremos sobre LAM configuration para configurar o funcionamento básico de LAM (siglas de LDAP Account Manager):
- 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:
- 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.
- 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á:
- Agora si que accedemos a crealas e nos atoparemos na páxina principal de LAM:
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:
- 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:
- E por último podemos crear un usuario:
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:
- Podemos instalar e configurar o cliente de LDAP co Centro de Control.
- 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:
- Deberemos instalar os seguintes paquetes:
- Instalación e configuración do cliente de LDAP en Mandriva:
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