DLDAP

Gerenciamento de usuários, grupos e máquinas de uma base LDAP através da ferramenta Dialog

LDAP (Lightweight Directory Access Protocol), é um protocolo de aplicação aberto, livre de fornecedor e padrão de indústria para acessar e manter serviços de informação de diretório distribuído sobre uma rede de Protocolo da Internet (IP). Serviços de diretório desempenham um papel importante no desenvolvimento de aplicações intranet e Internet permitindo o compartilhamento de informações sobre usuários, sistemas, redes, serviços e aplicações através da rede.

O DLDAP tem como objetivo fornecer uma interface amigável para o gerenciamento de uma base LDAP. Com ele, é possível adicionar, remover, alterar e consultar usuários, grupos e máquinas cadastrados em uma base LDAP que deve atender a uma estrutura básica.

Para executar o DLDAP na sua máquina, é só seguir as instruções a seguir.

1. Configurações Iniciais

1.1 Instalando o cliente OpenLDAP

Primeiramente, instale o cliente do OpenLDAP para realizar consultas, modificações e deleções via terminal.

# yum install epel-release
# yum update
# yum install openldap openldap-clients
  • openldap — Contém as bibliotecas necessárias para executar servidores e clientes OpenLDAP.

  • openldap-clients — Contém ferramentas de linha de comando para visualizar e modificar diretórios em um servidor LDAP.

1.2 Instalando o Dialog

O Dialog é um programa usado para desenhar interfaces amigáveis para o usuário, com botões e menus, a partir de um Shell Script (programa feito para funcionar no interpretador de comandos (prompt) padrão do UNIX/Linux).

Para instalar o Dialog no CentOS, execute os seguintes comandos:

# yum install dialog

1.3 Instalando o Python

O Python foi utilizado para gerar senhas criptografadas para os usuários da base LDAP. Para instalar o Python, execute o seguinte comando:

# yum install python3

1.4 Configurando o arquivo /etc/hosts

Caso ainda não tenha um servidor DNS respondendo pelos servidor LDAP, configure o hostname ldap1 apontando para o IP do servidor LDAP.

# vim /etc/hosts
----------------------------------
10.3.1.13 ldap1 ldap1.jose.labredes.info

1.5 Criando o arquivo de configuração .config

Coloque aqui os dados da base LDAP que deseja gerenciar, como por exemplo:

# cd dldap/
# vim .config
--------------
base:dc=jose,dc=labredes,dc=info
user:cn=admin,dc=jose,dc=labredes,dc=info
userPassword:jldap

Existe um arquivo .config.example no repositório da aplicação contendo a estrutura que o arquivo deve manter.

IMPORTANTE: Para o DLDAP funcionar corretamente, a base LDAP informada no arquivo .config deve ter a seguinte estrutura:

Se a base configurada no arquivo de configuração seguir essa estrutura e o usuário fornecido tiver permissões para realizar alterações na mesma, o DLDAP irá funcionar corretamente.

2. Como utilizar a aplicação

Executando o DLDAP:

# cd dldap/
./dldap.sh

Algumas instruções sobre como interagir com as telas geradas pelo Dialog:

  • Utilize a tecla ENTER para executar a ação desejada.

  • Em checklists ou radiolist use a tecla SPACE para selecionar as opções desejadas. Em um checklist mais de uma opção pode ser marcada, enquanto em um radiolist apenas uma pode ser selecionada.

  • A tecla ESC pode ser usada para cancelar ações, voltar janelas e sair do programa (caso esteja na tela inicial).

3. Recursos utilizados

3.1 Dialog

Para construir a aplicação, os seguintes tipos de caixa do Dialog foram utilizados:

# dialog                                       \
   --title 'Perfil'                          \
   --menu 'Escolha o perfil da instalação:'  \
   0 0 0                                     \
   mínima       'Instala o mínimo'           \
   completa     'Instala tudo'               \
   customizada  'Você escolhe'

Checklist

# dialog                                      \
   --title 'Seleção dos Componentes'        \
   --checklist 'O que você quer instalar?'  \
   0 0 0                                    \
   syntax  'Arquivos de sintaxe'      on    \
   mouse   'Suporte a mouse'          off   \
   color   'Suporte a cores'          on    \
   beep    'Driver avançado de som'   off

Radiolist

# dialog                                           \
   --title 'Pergunta'                            \
   --radiolist 'Há quanto tempo você usa o Vim?'  \
   0 0 0                                         \
   iniciante  'até 1 ano'      on                \
   experiente 'mais de 1 ano'  off               \
   guru       'mais de 3 anos' off

Msgbox

# dialog                                            \
   --title 'Parabéns'                             \
   --msgbox 'Instalação finalizada com sucesso.'  \
   6 40

Passwordbox

# dialog                                           \
   --title 'Novo Usuário'                         \
   --passwordbox 'Por favor, forneça uma senha:'  \
   0 0

Inputbox

# dialog                                           \
   --title 'Novo usuário'                         \
   --inputbox 'Nome do usuário:'  \
   0 0

Yesno

# dialog                                          \
   --title 'AVISO'                              \
   --yesno '\nO Vim foi instalado e configurado.\nVocê quer executá-lo agora?\n' \
   0 0

3.2 OpenLDAP client

Para realizar as modificações na base, foram usados os seguintes comandos do pacote OpenLDAP client:

ldapadd

Utilizado para adicionar objetos na base LDAP.

Formato geral de uma inserção utilizando o ldapadd:

$  ldapadd -x -D 'user' -H ldap://ip_do_servidor -f object.ldif -W

ldapsearch

Utilizado para realizar pesquisas na base LDAP.

Formato geral de uma pesquisa utilizando o ldapsearch:

$ ldapsearch -LLL -x -D 'user' -H ldap://ip_do_servidor -b 'base' 'filtro' atributos -W

ldapmodify

Utilizado para realizar alterações na base LDAP utilizando arquivos ldif.

Formato geral de uma alteração na base LDAP via ldapmodify:

$ ldapmodify -x -D 'user' -H ldap://ip_do_servidor -f object.ldif -W

ldapdelete

Utilizado para remover objetos da base LDAP.

Formato geral de uma exclusão utilizando o ldapdelete:

$ ldapdelete -x -D 'user' -H ldap://ip_do_servidor 'object' -W 

4. Referências

Last updated