如何从命令行更改SVN密码?
如果可以从命令行完成,这对我来说是最好的方法。
答案 0 :(得分:16)
在Subversion上设置密码的方法有很多种。这取决于您正在使用的服务器(svnserve,http,svn + ssh)以及管理员设置所有内容的方式。
Subversion不包含内置身份验证方法。相反,它可以使用许多不同的外部身份验证方法,从非常简单到极其复杂。有些将允许用户更改自己的密码,甚至可以设置自己的帐户。其他人则需要系统管理员来执行此操作。这一切都取决于您的特定设置。
svn co http://server/src/repos
)。我已将其设置为使用我们的Windows Active Directory,因此用户的用户名和密码是他们的Windows用户名和密码。这意味着我不必处理用户的我忘记了密码请求,并将整个帐户头痛传递给我们的Windows管理员。htpasswd
,其位置由Subversion管理员配置。系统管理员可能有办法让用户设置自己的密码,但这不一定是真的。在这种情况下,您必须联系管理员并要求他们更改您的密码。svnserve
(svn co svn://server/repos
)。设置的标准方法是在Subversion存储库的passwd
目录中有一个config
文件。它位于运行服务器的系统上,您无权访问它。同样,您必须联系系统管理员。因此,您将不得不向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工具。