Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Curso de Inglês Online

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Integrando OpenLDAP, Subversion, Webdav e Apache2

Colaboração: Eder L. Marques

Data de Publicação: 27 de Julho de 2008

Essa semana recebi a missão de configurar um novo repositório subversion, então aproveitei para dessa vez utilizar o apache2 com webdav, autenticando via OpenLDAP.

Visita ao site do apache, leitura de documentação, busca no google...

Ok, já posso por a mão na massa.

Ledo engano. O apache2 não autenticava o usuário nem a pau. O log do openldap mostava a consulta sendo feita, o repositório estava com as permissões corretas para www-data.

Tá bom, vou ler a documentação novamente.

Consegui fazer a integração. Vejamos todos os passos.

Ambiente

  • Servidor Subversion e apache2;</li>
  • Servidor OpenLDAP;</li>
  • Svn com vários repositórios, permissões de arquivos via OpenLDAP;</li>
  • Controle via grupos.</li>

Configuração do repositório

O usuário www-data precisa ter acesso aos arquivos do repositório. Então supondo que sua base seja /var/svn/repo01, precisamos garantir as permissões com o comando:

  cd /var/snv/repo01
  chown -R www-data:grupo1
  find repo01/ -type f -print -exec chmod 660 {} \;
  find repo01/ -type d -print -exec chmod 2770 {} \;

Assim, apenas o www-data e os usuários do grupo terão acesso aos arquivos. Além disso, estamos setando o bit SGID nos diretórios, para que os arquivos criados também sejam do grupo.

Configuração do apache2

No apache 2.2.x, o módulo utilizado para autenticação via ldap é o [mod_authnz_ldap href="http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html]. Iremos precisar do módulo dav_svn (pacote libapache2-svn). Habilite-os com o a2enmod.

Crie o arquivo do site em /var/apache2/sites-available/repo01. O conteúdo deve ser mais ou menos assim:

  <VirtualHost *:80>
  ServerAdmin administrador@seudominio.com.br
  ServerName svn.seudominio.com.br
  DocumentRoot /var/www/
  ErrorLog  /var/log/apache2/repo01/error.log
  LogLevel  notice
  CustomLog /var/log/apache2/repo01/access.log combined
  <Location /svn/repo01>
  #habilita o repositorio
  DAV svn
  # caminho para o repositorio
  SVNPath /var/svn/repo01
  # tipo de autenticacao
  AuthType Basic
  # identificação do repositorio
  AuthName "Repositorio SVN"
  # provedor de autenticacao
  AuthBasicProvider ldap
  # Está on porque se a autenticação via ldap falhar, não deve pesquisar outras bases
  AuthzLDAPAuthoritative on
  # URL da base LDAP. O ?uid especifica atributo pesquisar (uid)
  AuthLDAPURL "ldap://ldap.seudominio.com.br/ou=Usuarios,dc=seudominio,dc=com,dc=br?uid"
  # Informa que atributo usar para verificar se o usuario faz parte do grupo ou não
  AuthLDAPGroupAttribute memberUid
  # especifica que a busca deve ser feita por usuario, e nao pelo DN
  AuthLDAPGroupAttributeIsDN off
  #usuario que irá fazer a consulta no ldap
  AuthLDAPBindDN "cn=subversion,dc=seudominio,dc=com,dc=br"
  #senha do usuario acima
  AuthLDAPBindPassword "senha"
  # grupos que terão acesso ao repositorio
  Require ldap-group cn=repo01,ou=Grupos,dc=seudominio,dc=com,dc=br
  </Location>
  </VirtualHost>

Habilite o site com o a2ensite, recarregue o apache2 e pronto, seu apache2 está acessando o repositório svn e autenticando via openldap. :D

Agradecimentos ao Faw, que me ajudou a debugar o problema e a encontrar a solução.

Eder L. Marques é Analista de Segurança Sênior da Secretaria de Finanças, Prefeitura de Fortaleza. Além de outros hobbies, mantém os blogues http://blog.edermarques.net/ e http://administrando.net/

Veja a relação completa dos artigos de Eder L. Marques

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.99/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1268 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Programando o Android