SlideShare uma empresa Scribd logo
Instalação e Atualização Automática de Aplicações em Plataforma Livre para Ambientes
                                           Corporativos

                                         Mauro Tapajós Santos
                                   Renata Abadia Rodrigues de Oliveira

                                     Universidade Católica de Brasília

                             tapajós@abordo.com.br, renatarodrigues@ucb.br

                                                 Resumo

         Em ambientes corporativos é comum a necessidade de instalação e atualização de aplicações. No
ambiente Linux isto nem sempre é uma tarefa trivial.
         As várias distribuições linux criaram diferentes gerenciadores de pacotes de software, como o RPM,
APT, Apt-Rpm, etc. Estes gerenciadores facilitam consideravelmente o processo de instalação, mas ainda
não atendem às necessidades de um ambiente de TI complexo, como, por exemplo, controlar um ambiente
distribuído de repositórios de software e considerar políticas de privilégios sobre usuários ou grupos que
utilizarão as aplicações sendo distribuídas.
         Além disso, as ferramentas que acompanham as distribuições Linux apresentam limitações
operacionais como exigir privilégios de usuário root na estação ou, ainda, conhecimentos detalhados do
processo de instalação de pacotes de software pelo usuário.
         O que se propõe é um mecanismo automático de distribuição de pacotes de software para estações
de trabalho, que associa as facilidades de um gerenciador de pacotes de software – APT-RPM - com o
gerenciamento de privilégios baseado em usuários ou grupos. Este serviço é parte de uma arquitetura de
gerenciamento completa que possui como base um serviço de diretório OpenLDAP distribuído e já
adaptado para execução em grandes ambientes de TI.

1.Introdução

         Em sistemas Linux, a instalação e atualização de aplicações não é uma tarefa trivial. Com a sua
popularização, várias empresas desenvolveram suas próprias soluções para instalação, os gerenciadores
de pacotes de software. Estes gerenciadores facilitaram o processo de instalação, mas ainda não atendem
às necessidades de um ambiente de TI complexo, como, por exemplo, controlar um ambiente distribuído de
repositórios de software considerando políticas de privilégios sobre usuários ou grupos que utilizarão as
aplicações a serem distribuídas.
         Além disso, para instalar aplicações, o usuário necessita de privilégios de superusuário. Conceder
tais privilégios em um ambiente corporativo não é uma boa prática. O usuário leigo pode causar danos
irreparáveis ao sistema e ainda comprometer a segurança da organização.
         Neste contexto, este artigo apresenta uma solução que associa as facilidades de um gerenciador de
pacotes de software com o gerenciamento de privilégios baseados em um serviço de diretórios e permitindo
que um usuário comum1 instale as aplicações.

2.Gerenciadores de Pacotes de Software

       Fez-se necessário o estudo preliminar dos gerenciadores de pacotes de software para definir qual o
mais adequado para compor a solução proposta. Dentre os gerenciadores estudados destacam-se:

2.1. RPM – RedHat Package Manager

        O RPM foi criado pela Red Hat, e posteriormente licenciado para toda a comunidade, para que
outras distribuições o adotassem. Dessa forma o RPM hoje é conhecido mais como ferramenta da
comunidade de software livre do que da própria Red Hat [1].
        O gerenciamento de pacotes de software em sistemas Red Hat é feito por meio do RPM. Esta
ferramenta permite a instalação, atualização e remoção de pacotes de software, simplificando este
processo, se comparado ao tradicional, o qual exigia que todos os pacotes fossem compilados e instalados
através de um processo relativamente difícil e com grande consumo de tempo [1].
        Com o RPM a instalação de software se torna mais simples, requerendo, na maioria dos casos,
apenas a execução de um comando. Vale ressaltar que o RPM não trata de forma automática a resolução
de dependências2 entre os pacotes de software.

    2.2. APT – Advanced Package Tools

1
    Usuário comum é qualquer usuário diferente do superusuário (root).
2
    Dependências são pacotes requeridos para a instalação de outro pacote.
O APT é um conjunto de ferramentas criado pelos desenvolvedores da distribuição Debian e
utilizado para gerenciar os pacotes da distribuição de forma automática, de maneira que, quando o usuário
solicita a instalação de um pacote, o sistema também instala (ou atualiza) todos os pacotes necessários
para o funcionamento deste.
      Para seu funcionamento o APT utiliza um arquivo que lista as “fontes” de onde ele obterá os pacotes
[2]. Estas “fontes” são chamadas de repositórios de software.

   2.3. APT-RPM

         O APT-RPM é um porte, escrito e mantido pela Conectiva, da tradicional ferramenta APT da
distribuição Debian, para distribuições baseadas no sistema de pacotes RPM. [3]
         O APT-RPM é um avançado utilitário de gerenciamento de pacotes que oferece ao usuário
operações como instalação, atualização e remoção de pacotes de uma forma bastante simples. As
dependências são tratadas automaticamente, de modo que ao solicitar a instalação de um pacote o próprio
APT verifica e busca as dependências necessárias de forma automática, assim como ocorre no APT da
distribuição Debian. [3]

    •Repositório de Software

        Assim como o APT da Debian, Apt-Rpm necessita de um repositório, de onde os pacotes serão
obtidos. Cada distribuição tem seus repositórios espalhados pela Internet. Nesse caso ao instalar o Apt-
Rpm, pode-se escolher qual deles será utilizado, de acordo com a distribuição. [3]
        É possível ainda configurar um repositório próprio, num servidor local. Os softwares disponibilizados
podem ser previamente homologados antes de compor este repositório. Estes pacotes de software podem
ser disponibilizados via ftp ou http.

2.4.Urpmi

        O urpmi está para a distribuição Mandrake assim como o Apt-Rpm está para a Conectiva, Red Hat
ou Fedora. Possui características parecidas, mas não idênticas. Ao menos que seja retirado da instalação o
urpmi é automaticamente instalado no Mandrake [4].

2.5. Fatores que contribuíram para escolha do gerenciador de pacotes de software

         Foi adotada Fedora Core como a primeira distribuição Linux para a qual a solução seria
implementada. Assim o gerenciador escolhido deveria ser capaz de gerenciar pacotes no formato rpm, e
solucionar dependências de forma automática.
         A configuração de um repositório próprio, a instalação, a atualização e a resolução de dependências
de forma automática foram alguns dos testes feitos com o Apt-Rpm. O resultado satisfatório destes testes,
levou à escolha deste conjunto de ferramentas como ponto de partida para implementação de uma solução
de distribuição automática de aplicações em ambiente livre.
         Vale ressaltar que o principal motivo que contribuiu para que o RPM (Red Hat Package Manager),
gerenciador que acompanha a distribuição Fedora Core, não fosse adotado foi o fato de não possibilitar a
resolução automática de dependências.

1.Serviço de Diretórios Como Parte Integrante da Solução

         Um diretório é como um banco de dados especializado e otimizado para leitura, apresentação e
busca de dados. Uma das diferenças entre um diretório e um banco de dados é que o diretório foi projetado
para oferecer mais serviços de consultas do que de escrita na base. Enquanto o banco de dados considera
a mesma quantidade de ocorrência para as duas operações. Desta forma, não é necessário que um
diretório dê suporte a muitas das operações realizadas em banco de dados [5].
         Um serviço de diretório fornece uma maneira de encontrar, identificar e controlar os usuários e os
recursos disponíveis na rede. Esta modelagem permite que uma organização controle a segurança, o
armazenamento e os relacionamentos entre um ou mais recursos na rede. Além de permitir o
gerenciamento destas informações, esta modelagem provê a autenticação e identificação dos usuários que
acessam o serviço de diretório.
         O processo de autenticação é utilizado pelo LDAP para estabelecer os privilégios dos clientes para
cada sessão. Assim, todas as operações serão controladas pelo nível de autorização do usuário
autenticado [5].
         Para garantir os privilégios de um usuário ou grupo de usuários sobre uma aplicação ou um
conjunto de aplicações foi adotado um Serviço de Diretórios baseados no OpenLDAP [6].
Para implementação da solução foram criados novos schemas3 no OpenLDAP para armazenar as
informações sobre uma aplicação.

2.Solução Implementada

         Esta seção passa do domínio do problema para o domínio da solução.
         Visando atender, principalmente, ambientes corporativos, onde manter um grande número de
máquinas com suas aplicações atualizadas não é uma tarefa simples, implementou-se um mecanismo de
distribuição automática de aplicações cujos privilégios sobre estas aplicações estão armazenados no
OpenLDAP.

4.1. Arquitetura da Solução



                               Homologador

                                                                  SDS-
                      Pacotes RPM                                Adm in
                                      aCSPolicy232
                      homologados   aCSPolicy23         Apache
                                aCSPolicy2




                                                                            LDAP
                                                                                                          Serviço de Diretório
                               Administrador
                                                     Administração
                                                        GATI


                                                                                                      LDAP

                                                        SSH


                                                                                                                 openLDAP
                                                                                                                  -Client
                                                                                                          apt-
                                                                  RPM                                     rpm
                                                      apt-rpm
                                                                                                  FTP-
                                              Servido                                            client
                                               r FTP
                                                                                           RPM
                                                                                     ads

                                                            aCSPolicy232                                                    Usuário
                                                          aCSPolicy23
                                                        aCSPolicy2             FTP                   Estação de usuário
                                                                                                            ADS


                                                         SDS-Core
                                                  Repositório de Software

                                                     figura 1 – Arquitetura da Solução

       A solução implementada foi dividida em módulos, conforme mostra a figura acima. Cada um destes
módulos está descrito a seguir.

4.2. SDS-Core

         O SDS-Core é o repositório onde os pacotes de software são incluídos e disponibilizados para que
o usuário possa instalá-lo, atualizá-lo e repará-lo.
         A distribuição dos pacotes de software deste repositório pode ser feita via HTTP ou FTP.
         Para esta solução foi utilizado um servidor FTP, buscando evitar a configuração de um servidor
Web (Apache), e conseqüentemente a necessidade de um mais um serviço ativo no servidor. Com isto
pretende evitar problemas relativos à segurança causados pela abertura de mais uma porta do sistema.
         Os pacotes de software são disponibilizados no formato rpm para atender estações de trabalho com
distribuição Fedora Core.




3
     Definem quais são as classes de objetos e os atributos que podem ser armazenados em um serviço de diretórios
    que utiliza o protocolo LDAP
SSHD
                                                                  RPM
                                                    apt-rpm
                                         Servidor
                                           FTP



                                                             aCSPolicy232
                                                          aCSPolicy23
                                                     aCSPolicy2




                                                   SDS-Core
                                            Repositório de Software


                                      figura 2 – Repositório de Software

4.3. SDS-Admin

         Este módulo possui uma interface web, que permite ao administrador incluir os pacotes de software
no repositório, bem como as informações referentes no serviço de diretórios. São disponibilizadas ainda,
algumas funcionalidades para o administrador como consultar as aplicações contidas no repositório para
efetuar tarefas como remoção e inclusão de novas aplicações.
         Ao remover o software do repositório, as informações referentes ao mesmo são removidas do
serviço de diretórios.
         No momento da inclusão, o pacote de software é enviado ao repositório e em seguida, através de
um interface web (Apache), as informações como nome, versão, release, descrição e caminho de execução
dos pacotes, é incluída no Serviço de Diretório, o que possibilita a sua disponibilização para o usuário. Este
módulo da solução é parte integrante de uma Ferramenta para a Administração de Serviços de Diretório
Distribuídos Baseados no OpenLDAP.[7]




                               Homologador
                                                             Administrador
                                                             do SDS-Admin                SDS-
                                                                                        Admin
                                                                               Apache
                                              aCSPolicy232
                                            aCSPolicy23
                                          aCSPolicy2


                                      Pacotes de software
                                      .rpm homologados a
                                       serem inseridos no
                                           SDS-Core            Administração
                                                                  GATI
                                             figura 3 – SDS-Admin

4.4. ADS – Agente de Distribuição de Solução

         O ADS é o módulo instalado na estação do cliente e permite ao usuário executar tarefas como
instalar, atualizar, reparar e executar aplicações. O objetivo principal do ADS é ser um facilitador para o
usuário, evitando que o mesmo tenha a necessidade de procurar por um software, bem como suas
dependências, e instalá-los. É importante salientar que todas as tarefas executadas pela interface do ADS
tomam por base os comandos do APT-RPM.
         Antes de disponibilizar as funcionalidades para os usuários, o ADS consulta o Serviço de Diretório e
obtém uma lista de software de acordo com as permissões de cada usuário. Com estas informações é
disponibilizado para o usuário da estação um lançador de aplicações (launcher), de onde o usuário pode
instalar, atualizar, reparar e executar suas aplicações de maneira transparente.
         O ADS é um aplicativo desenvolvido utilizando a linguagem Tcl-tk, e suas funcionalidades estão
descritas na próxima seção.
openLDAP-
                                                           Client

                                                    apt-rpm

                                           FTP-
                                           client
                                     RPM
                               ads
                                                                     Usuário
                                                                           Autentica o usuário e obtém
                                              Estação de usuário                a lista de aplicações
                                               com o Agente de              disponíveis para o usuário.
                                                                           Oferece estas aplicações no
                                                Distribuição de
                                                                               Launcher (lançador de
                                                Software - ADS                        aplicações).


                                                        Linguagens Previstas:
                                                        Scripts: shell e tcl/tk
                             Figura 4 – Estação de Trabalho – ADS instalado



3.Funcionalidades do Sistema – Modulo ADS

        Esta seção descreve de forma resumida as funcionalidades do ADS

5.1. Listar Aplicações do Usuário
        Esta função busca junto ao Serviço de Diretórios, informações relativas ao perfil do usuário, como o
grupo ao qual o mesmo pertence e a lista com os softwares a que o usuário tem permissão para utilizar.

5.2. Verificar Status da Aplicação Selecionada
         Esta funcionalidade permite ao usuário verificar a situação dos softwares na máquina, possibilitando
a identificação das operações que poderão ser efetuadas para cada software da lista.
         O pacote de software analisado pode apresentar três diferentes estados:
     •Instalável: situação assumida pelo software quando o mesmo não foi encontrado na máquina do
         usuário.
     •Atualizável: nesta situação o software encontra-se instalado na máquina do cliente, mas em versão
         e/ou release inferior àquela que está no repositório de software (SDS-core).
     •Executável: um software é executável quando está instalado na máquina do usuário.
5.3Atualizar Software
         Conforme citado no item anterior, esta funcionalidade será disponibilizada conforme o status
atribuído ao pacote. O objetivo desta função é permitir ao usuário atualizar um software quando a versão e/
ou release do pacote disponível no repositório for diferente da versão e/ou release do pacote instalada na
estação.
5.4 Instalar Software
         Esta funcionalidade permite ao usuário instalar um software, disponível num repositório sempre que
o mesmo não está instalado na sua estação.
5.5.Reparar Software
         Esta funcionalidade permite ao usuário reparar um software que esteja apresentando algum
problema durante sua execução. Esta função consiste em reinstalar o software existente na estação do
usuário.

5.6 Executar Aplicação
       Esta funcionalidade permite ao usuário executar um software, a partir de uma lista de softwares
executáveis. O principal objetivo desta função é facilitar o trabalho dos usuários, visto que os softwares que
ele poderá executar são apresentados de forma automática.

5.6 Tela Inicial do ADS

        A figura abaixo mostra uma das telas do ADS. Neste exemplo a aplicação está instalada, mas
possui uma atualização disponível.
Figura 5 – Tela Inicial do ADS



1.Conclusão

         O tema tratado neste artigo mostrou-se bastante novo, não encontrando uma literatura específica
que tratasse do assunto aqui abordado, como um todo.
         Em ambientes coorporativos, o controle e distribuição de pacotes de software se mostraram como
uma necessidade e já são implementados em vários ambientes proprietários. A grande diferença entre o
mecanismo aqui implementado e as soluções proprietárias é que este mecanismo se apresenta como um
facilitador, não havendo qualquer preocupação no que se refere ao controle de licenças de sofware, por se
tratar de softwares livres.
         Para viabilizar a implementação foi utilizado um gerenciador de pacotes de software. Nota-se que
os gerenciadores aqui apresentados estão em um processo constante de evolução e há um esforço por
parte de desenvolvedores em tornar as distribuições Linux cada vez mais amigáveis.
         Vale ainda ressaltar que a distribuição de pacotes de software realizada segundo uma política de
acesso, de acordo com o perfil de cada usuário só foi possível através da expansão de alguns schemas
criando novos tipos de atributos e classes de objetos para adequação das necessidades da solução.
         O objetivo principal desta solução é compor um processo de migração para plataforma livre, visto
que o Linux e o software livre em geral vem sendo aceito como parte da infra-estrutura de informática de
algumas organizações.

2.Trabalhos Futuros

   •O módulo do ADS (Agente de Distribuição de Software) poderá ser reescrito em outra linguagem,
       possivelmente JAVA.
   •Realização da análise da compatibilidade entre os pacotes de software armazenados no repositório e
       as configurações de hardware, verificando se a estação do usuário tem espaço em disco disponível,
       memória e processador suficiente para suportar a instalação de um pacote.
   •Distribuição de pacotes não apenas para estações, mas também para servidores.
   •Atualizações de Kernel e patchs.
   •Possibilitar instalações automáticas para atender o caso de atualizações de antivírus, por exemplo.
   •Portar este mecanismo para outras distribuições, não ficando limitado ao Fedora Core 1 como nesta
       primeira versão.
1.Referências Bibliográficas

[1] BMC Software. Managing and Deploying Software in a Linux Environment. Disponível em:
<http://documents.bmc.com/products/documents/14/98/41498/41498.pdf> Acessado em Dez. de 2004.

[2] Silva, Gustavo Noronha. Como usar o APT v1.8.5. Disponível em:
<http://www.debian.org/doc/manuals/apt-howto/index.pt-br.html>. Acessado em Dez de 2004

[3] Niemeyer, Gustavo. Tutorial: APT-RPM, aplicativo que facilita o download e instalação de pacotes.
Revista do Linux, v. 50, p. 46-49, fev. 2004.

[4] Ferreira, Marco Antônio. Utilizando o urpmi. Disponível em
<http://www.vivaolinux.com.br/artigos/impressora.php?codigo=214>. Acessado em Abril de 2004

[5] Carter, Gerald. LDAP: System Administration. 1.ed. Sebastopol: O’Rielly & Associates, Inc, 2003. 294 p.

[6] Community developed LDAP software. Disponível em: <www.openldap.org> Acessado em Dez de 2004.

[7] CRUZ, Fernando; SANTOS, Giovanni; MEDEIROS, Raissa; et al. Uma Ferramenta para a Administração
de Serviços de Diretório Distribuídos Baseados no OpenLDAP. Anais do 5 Fórum Internacional de Software
Livre, pg 91, Porto Alegre, 2004. Anais.

Mais conteúdo relacionado

Semelhante a Instalação e Atualização Automática de Aplicações para Ambientes Corporativos

Atualização Automática de Aplicações em plataforma livre
Atualização Automática de Aplicações em plataforma livreAtualização Automática de Aplicações em plataforma livre
Atualização Automática de Aplicações em plataforma livreMauro Tapajós
 
Serviço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma LivreServiço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma LivreMauro Tapajós
 
Instalação de Aplicativos Linux
Instalação de Aplicativos LinuxInstalação de Aplicativos Linux
Instalação de Aplicativos LinuxWellington Oliveira
 
Guia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresaGuia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresaSoftD Abreu
 
Apresentação Pulse 2 e LEP
Apresentação Pulse 2 e LEP Apresentação Pulse 2 e LEP
Apresentação Pulse 2 e LEP Vasco Silva
 
integração de Serviços no Processo de Migração para uma Plataforma Livre
integração de Serviços no Processo de Migração para uma Plataforma Livreintegração de Serviços no Processo de Migração para uma Plataforma Livre
integração de Serviços no Processo de Migração para uma Plataforma LivreMauro Tapajós
 
Infra de provedores de serviço com software livre
Infra de provedores de serviço com software livreInfra de provedores de serviço com software livre
Infra de provedores de serviço com software livreIsaque Profeta
 
Como gerenciar de forma correta os pacotes em debian e distribuições derivadas
Como gerenciar de forma correta os pacotes em debian e distribuições derivadasComo gerenciar de forma correta os pacotes em debian e distribuições derivadas
Como gerenciar de forma correta os pacotes em debian e distribuições derivadasAntonio Paulo
 
Interoperabilidade, Normas, Diretrizes e Qualidade dos Repositórios - José ca...
Interoperabilidade, Normas, Diretrizes e Qualidade dos Repositórios - José ca...Interoperabilidade, Normas, Diretrizes e Qualidade dos Repositórios - José ca...
Interoperabilidade, Normas, Diretrizes e Qualidade dos Repositórios - José ca...josekarvalho
 
Palestra referente a certificação RHCSA.
Palestra referente a certificação RHCSA.Palestra referente a certificação RHCSA.
Palestra referente a certificação RHCSA.WaldemarDibiaziJunio
 
Sistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasSistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasLuiz Arthur
 
Backup Artigo Equipe Final
Backup Artigo Equipe FinalBackup Artigo Equipe Final
Backup Artigo Equipe FinalLuma Seixas
 
Microsoft Windows Server
Microsoft Windows ServerMicrosoft Windows Server
Microsoft Windows ServerGabriel Santos
 
Orquestração de containers com Rancher
Orquestração de containers com RancherOrquestração de containers com Rancher
Orquestração de containers com RancherAlex Ishida
 

Semelhante a Instalação e Atualização Automática de Aplicações para Ambientes Corporativos (20)

Atualização Automática de Aplicações em plataforma livre
Atualização Automática de Aplicações em plataforma livreAtualização Automática de Aplicações em plataforma livre
Atualização Automática de Aplicações em plataforma livre
 
Serviço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma LivreServiço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma Livre
 
Instalação de Aplicativos Linux
Instalação de Aplicativos LinuxInstalação de Aplicativos Linux
Instalação de Aplicativos Linux
 
Pacotes
PacotesPacotes
Pacotes
 
Guia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresaGuia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresa
 
TRABALHO DE TI
TRABALHO DE TITRABALHO DE TI
TRABALHO DE TI
 
Apresentação Pulse 2 e LEP
Apresentação Pulse 2 e LEP Apresentação Pulse 2 e LEP
Apresentação Pulse 2 e LEP
 
integração de Serviços no Processo de Migração para uma Plataforma Livre
integração de Serviços no Processo de Migração para uma Plataforma Livreintegração de Serviços no Processo de Migração para uma Plataforma Livre
integração de Serviços no Processo de Migração para uma Plataforma Livre
 
Infra de provedores de serviço com software livre
Infra de provedores de serviço com software livreInfra de provedores de serviço com software livre
Infra de provedores de serviço com software livre
 
Como gerenciar de forma correta os pacotes em debian e distribuições derivadas
Como gerenciar de forma correta os pacotes em debian e distribuições derivadasComo gerenciar de forma correta os pacotes em debian e distribuições derivadas
Como gerenciar de forma correta os pacotes em debian e distribuições derivadas
 
Interoperabilidade, Normas, Diretrizes e Qualidade dos Repositórios - José ca...
Interoperabilidade, Normas, Diretrizes e Qualidade dos Repositórios - José ca...Interoperabilidade, Normas, Diretrizes e Qualidade dos Repositórios - José ca...
Interoperabilidade, Normas, Diretrizes e Qualidade dos Repositórios - José ca...
 
Palestra referente a certificação RHCSA.
Palestra referente a certificação RHCSA.Palestra referente a certificação RHCSA.
Palestra referente a certificação RHCSA.
 
Sistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasSistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando Programas
 
Servico ad
Servico adServico ad
Servico ad
 
Backup Artigo Equipe Final
Backup Artigo Equipe FinalBackup Artigo Equipe Final
Backup Artigo Equipe Final
 
Sos final
Sos finalSos final
Sos final
 
Apprenda 12.2015
Apprenda 12.2015Apprenda 12.2015
Apprenda 12.2015
 
Nagios
NagiosNagios
Nagios
 
Microsoft Windows Server
Microsoft Windows ServerMicrosoft Windows Server
Microsoft Windows Server
 
Orquestração de containers com Rancher
Orquestração de containers com RancherOrquestração de containers com Rancher
Orquestração de containers com Rancher
 

Mais de Mauro Tapajós

Proyecto liberació SIGATI
Proyecto liberació SIGATIProyecto liberació SIGATI
Proyecto liberació SIGATIMauro Tapajós
 
Propostas de Autenticação para SNMP
Propostas de Autenticação para SNMPPropostas de Autenticação para SNMP
Propostas de Autenticação para SNMPMauro Tapajós
 
Migração para Software Livre nas Universidades
Migração para Software Livre nas UniversidadesMigração para Software Livre nas Universidades
Migração para Software Livre nas UniversidadesMauro Tapajós
 
Códigos Convolucionais (sequenciais)
Códigos Convolucionais (sequenciais)Códigos Convolucionais (sequenciais)
Códigos Convolucionais (sequenciais)Mauro Tapajós
 
Posso rodar minhas aplicações corporativas sobre linux?
Posso rodar minhas aplicações corporativas sobre linux?Posso rodar minhas aplicações corporativas sobre linux?
Posso rodar minhas aplicações corporativas sobre linux?Mauro Tapajós
 
Integração de Serviços como requisito fundamental no processo de migração par...
Integração de Serviços como requisito fundamental no processo de migração par...Integração de Serviços como requisito fundamental no processo de migração par...
Integração de Serviços como requisito fundamental no processo de migração par...Mauro Tapajós
 
Processo de Startup do Linux
Processo de Startup do LinuxProcesso de Startup do Linux
Processo de Startup do LinuxMauro Tapajós
 
Aspectos do kernel Linux e Instalação
Aspectos do kernel Linux e InstalaçãoAspectos do kernel Linux e Instalação
Aspectos do kernel Linux e InstalaçãoMauro Tapajós
 
Avaliação das distribuições Linux
Avaliação das distribuições LinuxAvaliação das distribuições Linux
Avaliação das distribuições LinuxMauro Tapajós
 
FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e ServiçosFISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e ServiçosMauro Tapajós
 
FISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para VídeoconferênciaFISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para VídeoconferênciaMauro Tapajós
 
Suporte e Disponibilidade no Linux
Suporte e Disponibilidade no LinuxSuporte e Disponibilidade no Linux
Suporte e Disponibilidade no LinuxMauro Tapajós
 
Pequena Apostila sobre Software Livre
Pequena Apostila sobre Software LivrePequena Apostila sobre Software Livre
Pequena Apostila sobre Software LivreMauro Tapajós
 
Apresentação da tese - Autenticação para SNMP
Apresentação da tese - Autenticação para SNMPApresentação da tese - Autenticação para SNMP
Apresentação da tese - Autenticação para SNMPMauro Tapajós
 
Gerência de Redes - 10.TMN e GIRS
Gerência de Redes - 10.TMN e GIRSGerência de Redes - 10.TMN e GIRS
Gerência de Redes - 10.TMN e GIRSMauro Tapajós
 
Gerência de Redes - 8.Tópicos Avançados
Gerência de Redes - 8.Tópicos AvançadosGerência de Redes - 8.Tópicos Avançados
Gerência de Redes - 8.Tópicos AvançadosMauro Tapajós
 
Gerência de Redes - 7.Ferramentas e Sitemas de Gerenciamento
Gerência de Redes - 7.Ferramentas e Sitemas de GerenciamentoGerência de Redes - 7.Ferramentas e Sitemas de Gerenciamento
Gerência de Redes - 7.Ferramentas e Sitemas de GerenciamentoMauro Tapajós
 

Mais de Mauro Tapajós (20)

Proyecto liberació SIGATI
Proyecto liberació SIGATIProyecto liberació SIGATI
Proyecto liberació SIGATI
 
Propostas de Autenticação para SNMP
Propostas de Autenticação para SNMPPropostas de Autenticação para SNMP
Propostas de Autenticação para SNMP
 
Asterisk
AsteriskAsterisk
Asterisk
 
Migração para Software Livre nas Universidades
Migração para Software Livre nas UniversidadesMigração para Software Livre nas Universidades
Migração para Software Livre nas Universidades
 
Códigos Convolucionais (sequenciais)
Códigos Convolucionais (sequenciais)Códigos Convolucionais (sequenciais)
Códigos Convolucionais (sequenciais)
 
Posso rodar minhas aplicações corporativas sobre linux?
Posso rodar minhas aplicações corporativas sobre linux?Posso rodar minhas aplicações corporativas sobre linux?
Posso rodar minhas aplicações corporativas sobre linux?
 
Software Winrad
Software WinradSoftware Winrad
Software Winrad
 
Integração de Serviços como requisito fundamental no processo de migração par...
Integração de Serviços como requisito fundamental no processo de migração par...Integração de Serviços como requisito fundamental no processo de migração par...
Integração de Serviços como requisito fundamental no processo de migração par...
 
Processo de Startup do Linux
Processo de Startup do LinuxProcesso de Startup do Linux
Processo de Startup do Linux
 
Aspectos do kernel Linux e Instalação
Aspectos do kernel Linux e InstalaçãoAspectos do kernel Linux e Instalação
Aspectos do kernel Linux e Instalação
 
Avaliação das distribuições Linux
Avaliação das distribuições LinuxAvaliação das distribuições Linux
Avaliação das distribuições Linux
 
FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e ServiçosFISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
 
FISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para VídeoconferênciaFISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para Vídeoconferência
 
Suporte e Disponibilidade no Linux
Suporte e Disponibilidade no LinuxSuporte e Disponibilidade no Linux
Suporte e Disponibilidade no Linux
 
Pequena Apostila sobre Software Livre
Pequena Apostila sobre Software LivrePequena Apostila sobre Software Livre
Pequena Apostila sobre Software Livre
 
Apresentação da tese - Autenticação para SNMP
Apresentação da tese - Autenticação para SNMPApresentação da tese - Autenticação para SNMP
Apresentação da tese - Autenticação para SNMP
 
Projeto CESMIC
Projeto CESMICProjeto CESMIC
Projeto CESMIC
 
Gerência de Redes - 10.TMN e GIRS
Gerência de Redes - 10.TMN e GIRSGerência de Redes - 10.TMN e GIRS
Gerência de Redes - 10.TMN e GIRS
 
Gerência de Redes - 8.Tópicos Avançados
Gerência de Redes - 8.Tópicos AvançadosGerência de Redes - 8.Tópicos Avançados
Gerência de Redes - 8.Tópicos Avançados
 
Gerência de Redes - 7.Ferramentas e Sitemas de Gerenciamento
Gerência de Redes - 7.Ferramentas e Sitemas de GerenciamentoGerência de Redes - 7.Ferramentas e Sitemas de Gerenciamento
Gerência de Redes - 7.Ferramentas e Sitemas de Gerenciamento
 

Instalação e Atualização Automática de Aplicações para Ambientes Corporativos

  • 1. Instalação e Atualização Automática de Aplicações em Plataforma Livre para Ambientes Corporativos Mauro Tapajós Santos Renata Abadia Rodrigues de Oliveira Universidade Católica de Brasília tapajós@abordo.com.br, renatarodrigues@ucb.br Resumo Em ambientes corporativos é comum a necessidade de instalação e atualização de aplicações. No ambiente Linux isto nem sempre é uma tarefa trivial. As várias distribuições linux criaram diferentes gerenciadores de pacotes de software, como o RPM, APT, Apt-Rpm, etc. Estes gerenciadores facilitam consideravelmente o processo de instalação, mas ainda não atendem às necessidades de um ambiente de TI complexo, como, por exemplo, controlar um ambiente distribuído de repositórios de software e considerar políticas de privilégios sobre usuários ou grupos que utilizarão as aplicações sendo distribuídas. Além disso, as ferramentas que acompanham as distribuições Linux apresentam limitações operacionais como exigir privilégios de usuário root na estação ou, ainda, conhecimentos detalhados do processo de instalação de pacotes de software pelo usuário. O que se propõe é um mecanismo automático de distribuição de pacotes de software para estações de trabalho, que associa as facilidades de um gerenciador de pacotes de software – APT-RPM - com o gerenciamento de privilégios baseado em usuários ou grupos. Este serviço é parte de uma arquitetura de gerenciamento completa que possui como base um serviço de diretório OpenLDAP distribuído e já adaptado para execução em grandes ambientes de TI. 1.Introdução Em sistemas Linux, a instalação e atualização de aplicações não é uma tarefa trivial. Com a sua popularização, várias empresas desenvolveram suas próprias soluções para instalação, os gerenciadores de pacotes de software. Estes gerenciadores facilitaram o processo de instalação, mas ainda não atendem às necessidades de um ambiente de TI complexo, como, por exemplo, controlar um ambiente distribuído de repositórios de software considerando políticas de privilégios sobre usuários ou grupos que utilizarão as aplicações a serem distribuídas. Além disso, para instalar aplicações, o usuário necessita de privilégios de superusuário. Conceder tais privilégios em um ambiente corporativo não é uma boa prática. O usuário leigo pode causar danos irreparáveis ao sistema e ainda comprometer a segurança da organização. Neste contexto, este artigo apresenta uma solução que associa as facilidades de um gerenciador de pacotes de software com o gerenciamento de privilégios baseados em um serviço de diretórios e permitindo que um usuário comum1 instale as aplicações. 2.Gerenciadores de Pacotes de Software Fez-se necessário o estudo preliminar dos gerenciadores de pacotes de software para definir qual o mais adequado para compor a solução proposta. Dentre os gerenciadores estudados destacam-se: 2.1. RPM – RedHat Package Manager O RPM foi criado pela Red Hat, e posteriormente licenciado para toda a comunidade, para que outras distribuições o adotassem. Dessa forma o RPM hoje é conhecido mais como ferramenta da comunidade de software livre do que da própria Red Hat [1]. O gerenciamento de pacotes de software em sistemas Red Hat é feito por meio do RPM. Esta ferramenta permite a instalação, atualização e remoção de pacotes de software, simplificando este processo, se comparado ao tradicional, o qual exigia que todos os pacotes fossem compilados e instalados através de um processo relativamente difícil e com grande consumo de tempo [1]. Com o RPM a instalação de software se torna mais simples, requerendo, na maioria dos casos, apenas a execução de um comando. Vale ressaltar que o RPM não trata de forma automática a resolução de dependências2 entre os pacotes de software. 2.2. APT – Advanced Package Tools 1 Usuário comum é qualquer usuário diferente do superusuário (root). 2 Dependências são pacotes requeridos para a instalação de outro pacote.
  • 2. O APT é um conjunto de ferramentas criado pelos desenvolvedores da distribuição Debian e utilizado para gerenciar os pacotes da distribuição de forma automática, de maneira que, quando o usuário solicita a instalação de um pacote, o sistema também instala (ou atualiza) todos os pacotes necessários para o funcionamento deste. Para seu funcionamento o APT utiliza um arquivo que lista as “fontes” de onde ele obterá os pacotes [2]. Estas “fontes” são chamadas de repositórios de software. 2.3. APT-RPM O APT-RPM é um porte, escrito e mantido pela Conectiva, da tradicional ferramenta APT da distribuição Debian, para distribuições baseadas no sistema de pacotes RPM. [3] O APT-RPM é um avançado utilitário de gerenciamento de pacotes que oferece ao usuário operações como instalação, atualização e remoção de pacotes de uma forma bastante simples. As dependências são tratadas automaticamente, de modo que ao solicitar a instalação de um pacote o próprio APT verifica e busca as dependências necessárias de forma automática, assim como ocorre no APT da distribuição Debian. [3] •Repositório de Software Assim como o APT da Debian, Apt-Rpm necessita de um repositório, de onde os pacotes serão obtidos. Cada distribuição tem seus repositórios espalhados pela Internet. Nesse caso ao instalar o Apt- Rpm, pode-se escolher qual deles será utilizado, de acordo com a distribuição. [3] É possível ainda configurar um repositório próprio, num servidor local. Os softwares disponibilizados podem ser previamente homologados antes de compor este repositório. Estes pacotes de software podem ser disponibilizados via ftp ou http. 2.4.Urpmi O urpmi está para a distribuição Mandrake assim como o Apt-Rpm está para a Conectiva, Red Hat ou Fedora. Possui características parecidas, mas não idênticas. Ao menos que seja retirado da instalação o urpmi é automaticamente instalado no Mandrake [4]. 2.5. Fatores que contribuíram para escolha do gerenciador de pacotes de software Foi adotada Fedora Core como a primeira distribuição Linux para a qual a solução seria implementada. Assim o gerenciador escolhido deveria ser capaz de gerenciar pacotes no formato rpm, e solucionar dependências de forma automática. A configuração de um repositório próprio, a instalação, a atualização e a resolução de dependências de forma automática foram alguns dos testes feitos com o Apt-Rpm. O resultado satisfatório destes testes, levou à escolha deste conjunto de ferramentas como ponto de partida para implementação de uma solução de distribuição automática de aplicações em ambiente livre. Vale ressaltar que o principal motivo que contribuiu para que o RPM (Red Hat Package Manager), gerenciador que acompanha a distribuição Fedora Core, não fosse adotado foi o fato de não possibilitar a resolução automática de dependências. 1.Serviço de Diretórios Como Parte Integrante da Solução Um diretório é como um banco de dados especializado e otimizado para leitura, apresentação e busca de dados. Uma das diferenças entre um diretório e um banco de dados é que o diretório foi projetado para oferecer mais serviços de consultas do que de escrita na base. Enquanto o banco de dados considera a mesma quantidade de ocorrência para as duas operações. Desta forma, não é necessário que um diretório dê suporte a muitas das operações realizadas em banco de dados [5]. Um serviço de diretório fornece uma maneira de encontrar, identificar e controlar os usuários e os recursos disponíveis na rede. Esta modelagem permite que uma organização controle a segurança, o armazenamento e os relacionamentos entre um ou mais recursos na rede. Além de permitir o gerenciamento destas informações, esta modelagem provê a autenticação e identificação dos usuários que acessam o serviço de diretório. O processo de autenticação é utilizado pelo LDAP para estabelecer os privilégios dos clientes para cada sessão. Assim, todas as operações serão controladas pelo nível de autorização do usuário autenticado [5]. Para garantir os privilégios de um usuário ou grupo de usuários sobre uma aplicação ou um conjunto de aplicações foi adotado um Serviço de Diretórios baseados no OpenLDAP [6].
  • 3. Para implementação da solução foram criados novos schemas3 no OpenLDAP para armazenar as informações sobre uma aplicação. 2.Solução Implementada Esta seção passa do domínio do problema para o domínio da solução. Visando atender, principalmente, ambientes corporativos, onde manter um grande número de máquinas com suas aplicações atualizadas não é uma tarefa simples, implementou-se um mecanismo de distribuição automática de aplicações cujos privilégios sobre estas aplicações estão armazenados no OpenLDAP. 4.1. Arquitetura da Solução Homologador SDS- Pacotes RPM Adm in aCSPolicy232 homologados aCSPolicy23 Apache aCSPolicy2 LDAP Serviço de Diretório Administrador Administração GATI LDAP SSH openLDAP -Client apt- RPM rpm apt-rpm FTP- Servido client r FTP RPM ads aCSPolicy232 Usuário aCSPolicy23 aCSPolicy2 FTP Estação de usuário ADS SDS-Core Repositório de Software figura 1 – Arquitetura da Solução A solução implementada foi dividida em módulos, conforme mostra a figura acima. Cada um destes módulos está descrito a seguir. 4.2. SDS-Core O SDS-Core é o repositório onde os pacotes de software são incluídos e disponibilizados para que o usuário possa instalá-lo, atualizá-lo e repará-lo. A distribuição dos pacotes de software deste repositório pode ser feita via HTTP ou FTP. Para esta solução foi utilizado um servidor FTP, buscando evitar a configuração de um servidor Web (Apache), e conseqüentemente a necessidade de um mais um serviço ativo no servidor. Com isto pretende evitar problemas relativos à segurança causados pela abertura de mais uma porta do sistema. Os pacotes de software são disponibilizados no formato rpm para atender estações de trabalho com distribuição Fedora Core. 3 Definem quais são as classes de objetos e os atributos que podem ser armazenados em um serviço de diretórios que utiliza o protocolo LDAP
  • 4. SSHD RPM apt-rpm Servidor FTP aCSPolicy232 aCSPolicy23 aCSPolicy2 SDS-Core Repositório de Software figura 2 – Repositório de Software 4.3. SDS-Admin Este módulo possui uma interface web, que permite ao administrador incluir os pacotes de software no repositório, bem como as informações referentes no serviço de diretórios. São disponibilizadas ainda, algumas funcionalidades para o administrador como consultar as aplicações contidas no repositório para efetuar tarefas como remoção e inclusão de novas aplicações. Ao remover o software do repositório, as informações referentes ao mesmo são removidas do serviço de diretórios. No momento da inclusão, o pacote de software é enviado ao repositório e em seguida, através de um interface web (Apache), as informações como nome, versão, release, descrição e caminho de execução dos pacotes, é incluída no Serviço de Diretório, o que possibilita a sua disponibilização para o usuário. Este módulo da solução é parte integrante de uma Ferramenta para a Administração de Serviços de Diretório Distribuídos Baseados no OpenLDAP.[7] Homologador Administrador do SDS-Admin SDS- Admin Apache aCSPolicy232 aCSPolicy23 aCSPolicy2 Pacotes de software .rpm homologados a serem inseridos no SDS-Core Administração GATI figura 3 – SDS-Admin 4.4. ADS – Agente de Distribuição de Solução O ADS é o módulo instalado na estação do cliente e permite ao usuário executar tarefas como instalar, atualizar, reparar e executar aplicações. O objetivo principal do ADS é ser um facilitador para o usuário, evitando que o mesmo tenha a necessidade de procurar por um software, bem como suas dependências, e instalá-los. É importante salientar que todas as tarefas executadas pela interface do ADS tomam por base os comandos do APT-RPM. Antes de disponibilizar as funcionalidades para os usuários, o ADS consulta o Serviço de Diretório e obtém uma lista de software de acordo com as permissões de cada usuário. Com estas informações é disponibilizado para o usuário da estação um lançador de aplicações (launcher), de onde o usuário pode instalar, atualizar, reparar e executar suas aplicações de maneira transparente. O ADS é um aplicativo desenvolvido utilizando a linguagem Tcl-tk, e suas funcionalidades estão descritas na próxima seção.
  • 5. openLDAP- Client apt-rpm FTP- client RPM ads Usuário Autentica o usuário e obtém Estação de usuário a lista de aplicações com o Agente de disponíveis para o usuário. Oferece estas aplicações no Distribuição de Launcher (lançador de Software - ADS aplicações). Linguagens Previstas: Scripts: shell e tcl/tk Figura 4 – Estação de Trabalho – ADS instalado 3.Funcionalidades do Sistema – Modulo ADS Esta seção descreve de forma resumida as funcionalidades do ADS 5.1. Listar Aplicações do Usuário Esta função busca junto ao Serviço de Diretórios, informações relativas ao perfil do usuário, como o grupo ao qual o mesmo pertence e a lista com os softwares a que o usuário tem permissão para utilizar. 5.2. Verificar Status da Aplicação Selecionada Esta funcionalidade permite ao usuário verificar a situação dos softwares na máquina, possibilitando a identificação das operações que poderão ser efetuadas para cada software da lista. O pacote de software analisado pode apresentar três diferentes estados: •Instalável: situação assumida pelo software quando o mesmo não foi encontrado na máquina do usuário. •Atualizável: nesta situação o software encontra-se instalado na máquina do cliente, mas em versão e/ou release inferior àquela que está no repositório de software (SDS-core). •Executável: um software é executável quando está instalado na máquina do usuário. 5.3Atualizar Software Conforme citado no item anterior, esta funcionalidade será disponibilizada conforme o status atribuído ao pacote. O objetivo desta função é permitir ao usuário atualizar um software quando a versão e/ ou release do pacote disponível no repositório for diferente da versão e/ou release do pacote instalada na estação. 5.4 Instalar Software Esta funcionalidade permite ao usuário instalar um software, disponível num repositório sempre que o mesmo não está instalado na sua estação. 5.5.Reparar Software Esta funcionalidade permite ao usuário reparar um software que esteja apresentando algum problema durante sua execução. Esta função consiste em reinstalar o software existente na estação do usuário. 5.6 Executar Aplicação Esta funcionalidade permite ao usuário executar um software, a partir de uma lista de softwares executáveis. O principal objetivo desta função é facilitar o trabalho dos usuários, visto que os softwares que ele poderá executar são apresentados de forma automática. 5.6 Tela Inicial do ADS A figura abaixo mostra uma das telas do ADS. Neste exemplo a aplicação está instalada, mas possui uma atualização disponível.
  • 6. Figura 5 – Tela Inicial do ADS 1.Conclusão O tema tratado neste artigo mostrou-se bastante novo, não encontrando uma literatura específica que tratasse do assunto aqui abordado, como um todo. Em ambientes coorporativos, o controle e distribuição de pacotes de software se mostraram como uma necessidade e já são implementados em vários ambientes proprietários. A grande diferença entre o mecanismo aqui implementado e as soluções proprietárias é que este mecanismo se apresenta como um facilitador, não havendo qualquer preocupação no que se refere ao controle de licenças de sofware, por se tratar de softwares livres. Para viabilizar a implementação foi utilizado um gerenciador de pacotes de software. Nota-se que os gerenciadores aqui apresentados estão em um processo constante de evolução e há um esforço por parte de desenvolvedores em tornar as distribuições Linux cada vez mais amigáveis. Vale ainda ressaltar que a distribuição de pacotes de software realizada segundo uma política de acesso, de acordo com o perfil de cada usuário só foi possível através da expansão de alguns schemas criando novos tipos de atributos e classes de objetos para adequação das necessidades da solução. O objetivo principal desta solução é compor um processo de migração para plataforma livre, visto que o Linux e o software livre em geral vem sendo aceito como parte da infra-estrutura de informática de algumas organizações. 2.Trabalhos Futuros •O módulo do ADS (Agente de Distribuição de Software) poderá ser reescrito em outra linguagem, possivelmente JAVA. •Realização da análise da compatibilidade entre os pacotes de software armazenados no repositório e as configurações de hardware, verificando se a estação do usuário tem espaço em disco disponível, memória e processador suficiente para suportar a instalação de um pacote. •Distribuição de pacotes não apenas para estações, mas também para servidores. •Atualizações de Kernel e patchs. •Possibilitar instalações automáticas para atender o caso de atualizações de antivírus, por exemplo. •Portar este mecanismo para outras distribuições, não ficando limitado ao Fedora Core 1 como nesta primeira versão.
  • 7. 1.Referências Bibliográficas [1] BMC Software. Managing and Deploying Software in a Linux Environment. Disponível em: <http://documents.bmc.com/products/documents/14/98/41498/41498.pdf> Acessado em Dez. de 2004. [2] Silva, Gustavo Noronha. Como usar o APT v1.8.5. Disponível em: <http://www.debian.org/doc/manuals/apt-howto/index.pt-br.html>. Acessado em Dez de 2004 [3] Niemeyer, Gustavo. Tutorial: APT-RPM, aplicativo que facilita o download e instalação de pacotes. Revista do Linux, v. 50, p. 46-49, fev. 2004. [4] Ferreira, Marco Antônio. Utilizando o urpmi. Disponível em <http://www.vivaolinux.com.br/artigos/impressora.php?codigo=214>. Acessado em Abril de 2004 [5] Carter, Gerald. LDAP: System Administration. 1.ed. Sebastopol: O’Rielly & Associates, Inc, 2003. 294 p. [6] Community developed LDAP software. Disponível em: <www.openldap.org> Acessado em Dez de 2004. [7] CRUZ, Fernando; SANTOS, Giovanni; MEDEIROS, Raissa; et al. Uma Ferramenta para a Administração de Serviços de Diretório Distribuídos Baseados no OpenLDAP. Anais do 5 Fórum Internacional de Software Livre, pg 91, Porto Alegre, 2004. Anais.