Ferramentas para administración do LDAP: ldapscripts, LDAP Account Manager (LAM) e JXplorer

De Manuais Informática - IES San Clemente.
Revisión del 10:46 7 oct 2017 de Carrion (discusión | contribuciones) (Crear usuarios en LAM)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Ir a la navegación Ir a la búsqueda

Introdución

  • Como vimos no apartado anterior traballar con ficheiros LDIF é un chisco enguedellado.
  • Neste apartado imos facer unha breve reseña sobre algunhas ferramentas que podemos utilizar para administrar o servidor LDAP de forma xenérica, para introducir, buscar e extraer información, mantelo en óptimo funcionamento, etc.

Administración mediante scripts

  • O paquete ldapscripts inclúe unha serie de scripts para administrar de forma sinxela os usuarios e grupos almacenados no servidor LDAP.
  • Este paquete proporciona scripts para xestionar contas tipo POSIX (usuarios, grupos e máquinas) no directorio activo.

Instalación do paquete ldapscripts

En primeiro lugar teremos que instalar en dserver00 o paquete:

apt-get install ldapscripts
  • A continuación temos que editar o ficheiro de configuración /etc/ldapscripts/ldapscripts.conf de acordo ás preferencias do noso servidor LDAP, descomentando e modificando os seguintes parámetros:
SERVER="ldap://localhost"
BINDPWDFILE="/etc/ldapscripts/ldapscripts.passwd"
SUFFIX="dc=iescalquera,dc=local"
GSUFFIX="ou=grupos"
USUFFIX="ou=usuarios"
MSUFFIX="ou=maquinas"
...
BINDDN="cn=admin,dc=iescalquera,dc=local"
BINDPWDFILE="/etc/ldapscripts/ldapscripts.passwd"
...
CREATEHOMES="yes"
  • Para rematar a configuración do paquete
    • introduciremos no ficheiro /etc/ldapscripts/ldapscripts.passwd o contrasinal para conectarse ao servidor LDAP
    • Configuramos que so root poida acceder ao ficheiro:
sh -c "echo -n 'abc123.' > /etc/ldapscripts/ldapscripts.passwd"
chmod 400 /etc/ldapscripts/ldapscripts.passwd
  • Agora temos moitos comandos que comezan por ldap (Lembrar premer TAB 2 veces).
  • Pararse un minuto a mirar os seus nomes, onde se pode comprobar que son bastante intuitivos.
  • Lembrar que algúns son do paquete ldap-utils:
root@dserver00:~# ldap
ldapadd                  ldapdeleteuserfromgroup  ldapmodrdn
ldapaddgroup             ldapexop                 ldappasswd
ldapaddmachine           ldapfinger               ldaprenamegroup
ldapadduser              ldapgid                  ldaprenamemachine
ldapaddusertogroup       ldapid                   ldaprenameuser
ldapcompare              ldapinit                 ldapsearch
ldapdelete               ldapmodify               ldapsetpasswd
ldapdeletegroup          ldapmodifygroup          ldapsetprimarygroup
ldapdeletemachine        ldapmodifymachine        ldapurl
ldapdeleteuser           ldapmodifyuser           ldapwhoami

Xestión de usuarios e grupos

  • A continuación móstrase o uso dos scripts do paquete para crear, cambiar o contrasinal e borrar un usuario, así como crear e borrar un grupo e engadir e eliminar usuarios a un grupo:


  • Pero temos un problema:
    • Os scripts traballan directamente con tres OUs específicas: usuarios, grupos e maquinas.
    • Eses scripts non traballan cos obxectos que estean contidos en fillos desas OUs.
    • Por exemplo se observamos o noso DIT:

00 Dominios Linux LDAP parte 01 B.jpg

  • Vemos que non podemos dar usuarios de alta nas OUs profes, dam1 e dam2, só os podemos dar de alta con estes scripts na OU usuarios.
  • Estes scripts veñen ben cando se trata de organizacións pequenas que non teñen clasificados os usuarios e todos están xuntos na OU usuarios.
  • O mesmo pasa coas máquinas.
  • En cambio cos grupos, neste caso, si que podemos dar de alta. Neste caso o grupo g-alum. Non confuncir coa OU alumnos.
ldapaddgroup g-alum
Successfully added group g-alum to LDAP
  • A continuación ponse a modo de exemplo unha ficticia xestión de usuarios, que vai traballar coa OU usuarios (supoñendo que previamente creamos no LDAP os grupos grupo1-ficticio e grupo2-ficticio con ldapaddgroup):
ldapadduser pepe grupo1-ficticio
Successfully added user pepe to LDAP
Successfully set password for user pepe
Successfully created home directory for user pepe
ldapsetpasswd pepe
Changing password for user uid=pepe,ou=usuarios,dc=iescalquera,dc=local
New Password: 
Retype New Password: 
Successfully set password for user uid=pepe,ou=usuarios,dc=iescalquera,dc=local
ldapaddusertogroup pepe grupo2-ficticio
Successfully added user pepe to group grupo2-ficticio

NOTAS:

  • En /home do servidor crearíase unha carpeta persoal para pepe, pero non nos clientes, iso verase na parte III do curso.
  • Para comprobar o resultado, agora poderiamos iniciar sesión, en modo consola, non en modo gráfico, que se verá na parte III do curso, co usuario pepe dende un equipo configurado para tomar os usuarios do LDAP e utilizar o comando id para ver os grupos aos que pertence.


Imos ver agora como borrar o usuario e grupo creados:

ldapdeleteuserfromgroup pepe grupo2-ficticio
Successfully deleted user pepe from group grupo2-ficiticio
ldapdeleteuser pepe
Successfully deleted user uid=pepe,ou=usuarios,dc=iescalquera,dc=local from LDAP
ldapdeletegroup grupo1-ficiticio
Successfully deleted group cn=grupo1-ficiticio,ou=grupos,dc=iescalquera,dc=local from LDAP

NOTA: Observar como se eliminaría o usuario pepe, pero a súa carpeta carpeta persoal seguiría no servidor en /home. No cliente xa non tiña carpeta.

Unha opción que pode ser moi útil con estes scripts é a de definir un modelo para os valores por defecto que terán os novos usuarios, grupos e máquinas. Estes modelos deben ser almacenados en ficheiros con formato LDIF (en /usr/share/doc/ldapscripts/examples hai exemplos destes ficheiros coa estensión .template.sample). No ficheiro de configuración /etc/ldapscripts/ldapscripts.conf podemos indicar os ficheiros de modelos que queiramos utilizar nos parámetros UTEMPLATE (usuarios), GTEMPLATE (grupos) e MTEMPLATE (máquinas).

LDAP Account Manager (LAM)

Instalación de LAM

  • Outra ferramenta que podemos utilizar para administrar os usuarios e grupos do servidor LDAP é LDAP Account Manager.
  • Instálase en calquera equipo o paquete ldap-account-manager, neste caso imos instalalo no servidor dserver00. Así que, introducimos o comando:
apt-get install ldap-account-manager

Lendo as listas de paquetes... Feito
Construindo a árbore de dependencias       
Lendo a información do estado... Feito
Instalaranse os seguintes paquetes extra:
 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common
 libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3
 libaprutil1-ldap libonig2 libqdbm14 php-fpdf php5 php5-cli php5-common
 php5-gd php5-ldap
Paquetes suxeridos:
 apache2-doc apache2-suexec apache2-suexec-custom php5-mcrypt
 ldap-account-manager-lamdaemon php-pear ttf2pt1
Os seguintes paquetes NOVOS hanse instalar:
 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common
 ldap-account-manager libapache2-mod-php5 libapr1 libaprutil1
 libaprutil1-dbd-sqlite3 libaprutil1-ldap libonig2 libqdbm14 php-fpdf php5
 php5-cli php5-common php5-gd php5-ldap
0 anovados, 18 instalados, Vanse retirar 0 e deixar 0 sen anovar.
Ten que recibir 16,8 MB de arquivos.
Despois desta operación ocuparanse 57,0 MB de disco adicionais.
Quere continuar [S/n]? 
  • Observar que vai instalar o servidor web apache.

Por se non estiveran instaladas as extensións XML e ZIP de PHP no servidor:

apt-get install php-xml
apt-get install php-zip

Reiniciamos o servizo

service apache2 restart

Configuración de LAM

  • Agora toca configurar a utilidade lam para que manexe o noso directorio LDAP.
  • Ao rematar a instalación podemos conectarnos a el dende calquera equipo cun navegador web.
    • Podemos facelo dende uclient01: http://ip_ou_nomeservidor/lam
    • Se temos Rede NAT de VirtualBox, podemos redirixir un porto, por exemplo 8080, ao porto 80 da IP do servidor
    • Para conectarse dende o exterior sería, neste caso: http://ip_do_equipo_real:8080/lam
    • Nun servidor real, sería moi recomendable configurar o servidor apache para recibir conexións seguras e usar https en lugar de http


  • Na lapela General Settings:
    • Tree suffix: Para introducir o sufixo do noso directorio (dc=iescalquera,dc=local).
    • Default language: Español.
    • List of valid users: Poremos o DN do usuario administrador do LDAP (cn=admin,dc=iescalquera,dc=local)
    • Podemos cambiar o contrasinal para acceder a esta páxina de configuración introducindo nas dúas últimas caixas de texto un novo.

Dl 2014 lam 04.jpeg


  • Se gardamos os cambios, agora xa podemos ver a páxina de configuración en castelán.
  • Na lapela Tipos de cuentas, dentro do apartado Tipos de cuentas activos:
    • Borramos ao final da páxina o tipo de conta: Dominios de Samba que usaremos na parte V do curso, se é que ese tipo de conta estivese activo.

Dl 2014 lam 05.jpeg


  • Na mesma lapela Tipos de cuenta, dentro do apartado Tipos de cuentas activos:
    • Usuarios -> Sufijo LDAP: ou=usuarios,dc=iescalquera,dc=local
    • Grupos -> Sufijo LDAP: ou=grupos,dc=iescalquera,dc=local
    • Equipos (hosts) -> Sufijo LDAP: ou=maquinas,dc=iescalquera,dc=local
      • Esta última non a imos usar por agora, pero deixámola configurada.
      • Esta última non a imos usar por agora, pero deixámola configurada.
      • Se non está activa, engadila a "Tipos de conta activas"

Dl 2014 lam 06.jpeg


  • Na lapela Módulos, en Usuarios, Grupos e Equipos retiramos, se estivera presente, o módulo Samba 3:

Dl 2014 lam 07.jpeg


  • A seguinte imaxe amosa Usuarios, Grupos e Equipos sen o módulo SAMBA 3. No caso dos Equipos asegurarse de que stean presentes os módulos Account e Unix.

Dl 2014 lam 08.jpeg

  • Prememos en salvar agora, ou cando vexamos a seguinte lapela.


  • Na lapela Preferencias del módulo podemos ver que opcións podemos ocultar, en UID e GID podemos ver en que números se comeza para ser asignados a usuarios e grupos.

Dl 2014 lam 09.jpeg

  • Podemos revisar a configuración sempre que o desexemos.

Iniciar sesión por primeira vez

  • Imos revisar todo o realizado até agora con ldap-utils e ldapscript no directorio LDAP.

Crear OUs en LAM

  • Imos crear unha das OUs que nos falta: dam2.

00 Dominios Linux LDAP parte 01 B.jpg

Crear grupos en LAM. Exercicio

  • Imos agora crear os grupos que faltan por crear: g-dam1-alum e g-dam2-alum

00 Dominios Linux parte 01 Usuarios.jpg

Crear usuarios en LAM

  • Lembrar como estaba organizados os usuarios:

00 Dominios Linux parte 01 Usuarios.jpg

  • Podemos crear usuarios en modo gráfico como se fixo cos grupos, pero imos crealos cun ficheiro CSV.
  • Un ficheiro CSV é, en modo resumido, un ficheiro onde cada liña representa un obxecto do directorio e os seus campos están separados por comas.
  • Este tipo de ficheiros son moi cómodos cando se desexan crear usuarios de forma masiva.
  • So hai que poñer unha liña na cabeceira cos campos (separados por comas) que vai conter o ficheiro.
  • E debaixo unha liña por cada obxecto, cos valores dos campos separados por comas.


  • Aconséllase traballar nunha folla de cálculo, pois logo podemos exportar o ficheiro a formato CSV, que é un documento de texto, onde cada campo da folla se converterá nun campo separado por comas no ficheiro CSV.
  • É moi recomendable que se conserven os dous ficheiros: o da folla de cálculo (xls ou ods) e o CSV. O primeiro sobre todo porque pode conter fórmulas para construír os valores dos distintos campos.
  • No seguinte enlace está un ficheiro en formato ods (Folla de cálculo de LibreOffice) que se pode usar como base para crear os usuarios:
  • Dos usuarios que faltan por crear, crearemos a Mon, Tom e Pía. Imos deixar polo momento sen crear a Paz.


Exercicio para o/a lector/a

  • Agora o/a lector/a, baseándose no ficheiro usuarios.ods de arriba debe ser quen de crear os usuarios:
    • mon (dam1)
    • tom (dam1)
    • pia (dam2)


  • Unha vez creados este debe ser o resultado.

IMPORTANTE: Con LAM pódense crear usuario e grupos, pero non vai crear no servidor as carpetas persoais asociadas a cada usuario.

JXplorer

  • Existen moitas máis ferramentas gráficas para conectarse a un servidor LDAP e manexar a información almacenada nel, e JXplorer é un dos máis usados. Está implementado en Java, polo que pode usado tanto dende unha máquina Windows como Linux.
  • Só hai que instalala no cliente e non se precisa realizar nada no servidor.
  • No noso caso ímola instalar no cliente Ubuntu Desktop (uclient01), e teremos que ter instalada no equipo a máquina virtual de java.
  • Dende a páxina de descargas (http://jxplorer.org/downloads/users.html) pódese descargar JXplorer para distintas plataformas.
  • No noso caso se alguén a instala no equipo real que lembre que precisa redirixir portos se usa Rede NAT de VirtualBox para a IP de dserver00, porto 389.


  • No noso caso en uclient01:
sudo apt-get install jxplorer
  • Observar que xa instala os paquetes Java que precisa, se non estiveran instalados xa.


A continuación móstranse algunhas opcións do programa:

Instantáneas do escenario 1.E

  • Ao igual que se fixo nos escenarios anteriores, convén crear a instantánea do escenario 1.E tanto no servidor dserver00 como nos clientes uclient01 e uclient02.


-- Antonio de Andrés Lema e Carlos Carrión Álvarez