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.
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:
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.
1.5 Criando o arquivo de configuração .config
Coloque aqui os dados da base LDAP que deseja gerenciar, como por exemplo:
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:
Figura 1. Exemplo de base LDAP gerenciável via DLDAP
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:
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
Figura 2. Menu Dialog
Checklist
Figura 3. Checklist Dialog
Radiolist
Figura 4. Radiolist Dialog
Msgbox
Figura 5. Msgbox Dialog
Passwordbox
Figura 6. Passwordbox Dialog
Inputbox
Figura 7. Inputbox Dialog
Yesno
Figura 8. Yesno Dialog
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:
ldapsearch
Utilizado para realizar pesquisas na base LDAP.
Formato geral de uma pesquisa utilizando o ldapsearch:
ldapmodify
Utilizado para realizar alterações na base LDAP utilizando arquivos ldif.
Formato geral de uma alteração na base LDAP via ldapmodify:
ldapdelete
Utilizado para remover objetos da base LDAP.
Formato geral de uma exclusão utilizando o ldapdelete:
# vim /etc/hosts
----------------------------------
10.3.1.13 ldap1 ldap1.jose.labredes.info
# cd dldap/
# vim .config
--------------
base:dc=jose,dc=labredes,dc=info
user:cn=admin,dc=jose,dc=labredes,dc=info
userPassword:jldap
# cd dldap/
./dldap.sh
# 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'
# 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
# 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