Como eu adiciono um usuário no SVN?

11

UPDATE # 3: Acho que encontrei.
/etc/httpd/conf.d/subversion.conf

<Location /repos>
        DAV svn
        SVNPath /var/www/svn/repos
        AuthType Basic
        AuthName "Subversion repos"
        AuthUserFile /etc/svn-auth-conf
        Require valid-user
</Location>

svn-auth-conf está no formato

user1:$apr1$randome letters ... $random letters and numbers

Eu sinto que usei alguma ferramenta de linha de comando para adicionar os usuários, mas não consigo me lembrar o quê.

UPDATE # 2: localize http.conf dá estes resultados

/usr/share/logwatch/default.conf/logfiles/http.conf
/usr/share/logwatch/default.conf/services/http.conf

Eu não vejo nada em nenhum deles que parecesse relacionado à subversão. Eu posso postar os arquivos aqui se isso ajudar.

pergunta original:

Há alguns anos, instalei e configurei o subversion. Não me lembro como adicionei um usuário. Eu preciso adicionar outro agora, mas quando eu verifiquei o arquivo passwd não havia usuários definidos, nem havia nada definido no arquivo svnserve.conf - ambos tinham tudo comentado. Essa é a única maneira que posso encontrar para adicionar usuários via google. Então eu tentei:

passwd

user1 = password1
user2 = password2

svnserve.conf

anon-access = none
auth-access = write
pasword-db = passwd
authz-db - authz
realm = repos

mas ainda posso acessá-lo com user1 , mesmo que user1 não seja um usuário no servidor linux. Existe alguma outra maneira de adicionar usuários ou eu tenho algo errado na minha configuração?

atualização:

Eu adicionei a seguinte linha ao meu arquivo svnserve.conf

authz-db = authz

então meu arquivo authz se parece com isso

authz     [grupos]     devs = user1, user2

[repos:/]
devs = rw

ainda não funciona. a senha para user1 é diferente na senha do que eu uso para login. Então eu acho que o subversion não está usando isso para autenticação. especialmente desde que o arquivo estava vazio antes e eu ainda era capaz de fazer o login. Existe alguma maneira de se certificar de que ele usa os arquivos svnserve, passwd, authz para autenticação? existe outro arquivo de configuração em algum lugar?

    
por scott 01.07.2011 / 12:52

5 respostas

7

A autenticação do Subversion geralmente possui duas partes. O primeiro é um repositório de senhas de algum tipo. O segundo é uma lista de controle de acesso. A lista de senhas é usada para autenticar usuários e verificar suas senhas, mas você também precisa definir quais usuários têm acesso a quais recursos.

Existem vários tipos de repositórios de senha. Eu não sou familier com o tipo passwd , eu uso o tipo htpasswd que usa os mesmos arquivos de usuário / senha que o apache faz para a autenticação do usuário. Eu adiciono usuários a este arquivo com htpasswd .htpasswd username . Parece que você pode ter feito essa etapa corretamente para o seu tipo de senha.

A segunda parte é a ACL. O Subversion deve ter um arquivo chamado access em algum lugar com seções para cada um dos seus repositórios. Você precisará adicionar uma linha no repositório que deseja acessar com username = rw para conceder ao usuário acesso de leitura / gravação a esse repositório.

    
por 01.07.2011 / 13:07
6

A configuração do servidor SVN (principalmente) consiste em três arquivos:

  • authz
  • passwd
  • svnserve.conf Este é o arquivo principal (authz-db = authz)

Então, basta nos fornecer dois arquivos de configuração. Verifique se o arquivo authz contém:

#[the_name_of_repository:/path_in_that_repository]
[test:/]
user1 = rw
user2 = rw

para o projeto test você deseja conceder acesso

    
por 01.07.2011 / 15:34
3
## Create testuser ##
htpasswd -m /etc/svn-auth-users testuser

New password:

Re-type new password:

Adding password for user testuser2

Observação: use exatamente o mesmo arquivo e nome de caminho usados no arquivo subversion.conf . Este exemplo usa o arquivo /etc/svn-auth-users .

    
por 19.10.2015 / 23:16
1

você pode usar o comando

sudo htpasswd -cm /etc/apache2/dav_svn.passwd XXXXX
  • XXXXX foi o nome de usuário, então ele pedirá a senha

isso é somente se você configura o svn com o apache, que não lê o svn conf pastas nome do usuário senha conf arquivos

    
por 10.10.2015 / 10:23
1
htpasswd -m /etc/subversion/svn-auth-file yourusername

Ele pedirá a senha e confirmará a senha.

    
por 30.06.2016 / 14:09

Tags