Subversion: Compartilhar o arquivo do usuário com o Apache e o svnserve

0

Gostaria de oferecer suporte aos protocolos svn: e http: para um servidor SVN que só será acessado na rede. No entanto, gostaria que os dois protocolos compartilhassem os mesmos usuários e senhas. Existe uma maneira de o Apache e o svnserve compartilharem os mesmos dados do usuário armazenados em um arquivo local no servidor?

    
por jpmc26 13.07.2013 / 08:23

1 resposta

1

Is there a way for Apache and svnserve to share the same user data stored in a file local to the server?

Não diretamente e automaticamente, não é um arquivo único com banco de dados do usuário, mas pode ser roteirizado e automatizado (mas de maneira insegura, em comum)

O principal problema são formatos diferentes (e tipo de dados armazenados) de arquivo de usuário para o Apache e svnserve

passwd-file no Apache usa

user:<HASH-OF-PASSWORD>

user-db para o svnserve

[users]
user = PASSWORD

Como o hashing é uma função não reversível, você deve

  • Executar todas as adições de usuários e edições de usuários no user-db (você pode tentar excluir usuários no lado do Apache, mas, nesse caso, suporta sincronização bidirecional, portanto - suupose, user-delete somente em db do usuário também será melhor escolha)
  • Depois de cada user-db alterar o processo-parse-sync user-db com passwd-file: leia sobre o modo htpasswd -b na página man (talvez sobre ... -i também)

Apenas IMNSHO: suporte apenas um servidor será muito mais fácil

    
por 13.07.2013 / 09:12