SVN:动态更新svn_auth_file

时间:2014-04-29 08:19:49

标签: svn

SVN用户列表来自另一个系统。 因此,每次更新此列表时,SVN服务器都必须考虑更新。 为此,我们会定期收到允许访问存储库的SVN用户的(登录/密码)列表。

使用shell我们重新创建文件svn_auth_file

  • 使用svn_ath_file_temp
  • 创建htpasswd -cmb <login> <password>
  • 替换svn_ath_file目录中的csvn/data/conf

Questons:

  • 这种方法是否正确?
  • Apache / SVN是否能够动态考虑新的svn_auth_file(即使用户正在使用存储库?
  • 是否需要停止/启动Apache / SVN?
  • 此操作是否会导致以下错误:

    - [Mon Apr 28 08:30:20 2014] [error] [client 206.16.105.224] user 17948: authentication failure for ".../tags": Password Mismatch

1 个答案:

答案 0 :(得分:0)

您的问题的简短答案

  • 没有
  • 是的,它可以必须。但这是与客户端相关的错误。任何SVN客户端存储在本地使用甚至一次auth-credentials,以便以后重用它。当您更改已知客户端URL的用户名|密码时,并不意味着它知道这一点并显示旧数据。

对于Windows-world,他们(auth。详细信息)存储在$ APPDATA $ \ Subversion \ auth文件夹中,每个auth-type的一个子文件夹

Subversion\auth>dir /B
svn.simple
svn.ssl.client-passphrase
svn.ssl.server
svn.username

对于使用的http和https存储库svn.simple,每个主机有一个文件(我在Assembla上有多个存储库,其中包含不同的URL,但https://subversion.assembla.com:443只有一个文件)。为了重新验证成功,客户端上的主机文件必须被删除并在登录时重新创建,或者根本不能存储凭证并且每次都在任何需要授权的命令中使用

Global options:
  --username ARG           : specify a username ARG
  --password ARG           : specify a password ARG
  --no-auth-cache          : do not cache authentication tokens