【问题标题】:Change SVN password command line修改SVN密码命令行
【发布时间】:2011-08-18 02:42:44
【问题描述】:

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

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

【问题讨论】:

  • 我虽然在此之前 SVN 具有主机系统 Unix 名称服务器或 LDAP 的身份验证。但似乎它也可以维护自己的凭据存储..文件系统上的明文
  • 什么是访问协议? HTTP/HTTPs,通过 SSH 还是 SVN 专有的?

标签: security svn command-line passwords


【解决方案1】:

在 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 管理员配置。系统管理员可能有办法让用户设置自己的密码,但这不一定是真的。在这种情况下,您必须联系管理员并要求他们更改您的密码。
  • 一些网站使用svnserve (svn co svn://server/repos)。标准的设置方式是在 Subversion 存储库的 config 目录中有一个 passwd 文件。它位于运行服务器的系统上,您无权访问它。同样,您必须联系系统管理员。
  • 某些网站使用SASL 进行身份验证。这可以使用 Windows Active Directory、LDAP 或任意数量的身份验证方法。有时您可以设置自己的密码,有时您必须询问管理员是如何设置的。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 感谢您的回答。好像进不去
    • svn: '/svn/../conf/passwd' 路径未找到
    • 在我的示例中,将 /repo 更改为您的完整存储库路径,这只是一个示例。
    • 重点是我不是这个SVN的管理员,我没有访问管理员机器的权限。另一方面,我无法将密码提供给管理员并说“请将 ma pass 从 qwerty 更改为 12345”
    • 如果您不是管理员,则无法更改密码(显然是出于安全原因)。您必须要求管理员为您更改。
    【解决方案3】:

    如果使用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 进行结帐以验证正确的密码已更改。

    【讨论】:

    • 这是为我做的sudo htpasswd /etc/apache2/dav_svn.passwd theUserName
    【解决方案4】:

    这是我必须做的:

    cd /etc/httpd/conf/svn
    

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

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

    要求新密码

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        【解决方案6】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-09-23
          • 1970-01-01
          • 2015-12-31
          • 2011-01-21
          • 1970-01-01
          • 2011-03-06
          相关资源
          最近更新 更多