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
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.

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 as setas⬆️⬇️ para navegar pelas opções dos menus.
Utilize a tecla TAB ou as setas➡️⬅️ para selecionar uma das opções localizadas na parte inferior da janela, geralmente "OK" e "Cancelar/Voltar".
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:
Menu
# 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
JARGAS, Aurelio. Dialog --tudo. Disponível em: https://aurelio.net/shell/dialog/ Acesso em: 15 de novembro de 2019
JARGAS, Aurelio. Canivete Suíço do Shell (Bash). Disponível em: https://aurelio.net/shell/canivete/ Acesso em: 22 de novembro de 2019
DIGITAL OCEAN. How To Use LDIF Files to Make Changes to an OpenLDAP System. Disponível em: https://www.digitalocean.com/community/tutorials/how-to-use-ldif-files-to-make-changes-to-an-openldap-system. Acesso em: 20 de novembro de 2019
Last updated
Was this helpful?