更改SVN密码命令行

时间:2011-05-03 22:52:41

标签: security svn command-line passwords

如何从命令行更改SVN密码?

如果可以从命令行完成,这对我来说是最好的方法。

6 个答案:

答案 0 :(得分:16)

在Subversion上设置密码的方法有很多种。这取决于您正在使用的服务器(svnserve,http,svn + ssh)以及管理员设置所有内容的方式。

Subversion不包含内置身份验证方法。相反,它可以使用许多不同的外部身份验证方法,从非常简单到极其复杂。有些将允许用户更改自己的密码,甚至可以设置自己的帐户。其他人则需要系统管理员来执行此操作。这一切都取决于您的特定设置。

  • 在我们的网站上,我们使用Apache http来提供我们的Subversion存储库(svn co http://server/src/repos)。我已将其设置为使用我们的Windows Active Directory,因此用户的用户名和密码是他们的Windows用户名和密码。这意味着我不必处理用户的我忘记了密码请求,并将整个帐户头痛传递给我们的Windows管理员。
  • 有些网站使用Apache http,但使用位于Apache服务器本身的密码文件。这通常称为htpasswd,其位置由Subversion管理员配置。系统管理员可能有办法让用户设置自己的密码,但这不一定是真的。在这种情况下,您必须联系管理员并要求他们更改您的密码。
  • 有些网站使用svnservesvn co svn://server/repos)。设置的标准方法是在Subversion存储库的passwd目录中有一个config文件。它位于运行服务器的系统上,您无权访问它。同样,您必须联系系统管理员。
  • 有些网站使用SASL进行身份验证。这可以使用Windows Active Directory,LDAP或任何数量的身份验证方法。有时您可以设置自己的密码,有时您必须询问管理员它是如何完成的。

因此,您将不得不向Subversion管理员询问如何更改密码。如果你很幸运,有办法亲自去做。如果没有,您将不得不要求您的Subversion管理员进行更改。

答案 1 :(得分:13)

您必须使用Vim等命令行编辑器编辑/repo/conf/passwd下的文件。 使用像svnadmin这样的Subversion命令行实用程序无法做到这一点。

答案 2 :(得分:4)

如果使用 https ,密码可能由Apache定义。这是我需要做的更改密码,以防它帮助其他人:

# using root account
cd /etc/apache2
cat foo.passwd # the right user, foobar was found here
# copy the line for foobar, in case you want to restore it!
man htpasswd # a little refresher on what the command does
htpasswd foo.passwd foobar
# new password is prompted
cat foo.passwd # check that the line for this user actually got changed

然后使用 https 结帐,以验证是否更改了正确的密码。

答案 3 :(得分:2)

这就是我要做的事情:

cd /etc/httpd/conf/svn

备用当前的svn-auth以防万一

cp svn-auth.htdigest svn-auth.htdigest«yymmDD»
htdigest svn-auth.htdigest “Subversion Repository” «user-name»

要求新的passwsord

答案 4 :(得分:1)

htpasswd -m C:\csvn\data\conf\svn_auth_file admin

答案 5 :(得分:-1)

我建议安装Collabnet SubVersion Edge捆绑包,因为它包含一个允许用户自行更改密码的Web工具。