我在 Windows 中使用 CollabNet SVN Edge 作为我的存储库服务器,无论如何我弄乱了这个 SVN 的用户帐户,包括根用户帐户。请问如何恢复这个SVN的管理员账号?
4 回答
如果您正在寻找一个选项来重置您忘记的管理员密码,那么在不删除数据库的情况下重置它的唯一方法是直接编辑它(这很容易)。
- 在 Windows 上停止 Subversion Edge 服务或在 Linux/Solaris 上运行 $ bin/csvn stop 命令
- 找到您的安装目录(例如,c:\csvn)。这将包含一个名为 data 的文件夹,其中包含一个名为“csvn-production-hsqldb.script”的文件。
在文本编辑器中打开此文件。搜索“'admin'”(带单引号)——您应该会找到如下所示的一行:
INSERT INTO USER VALUES(1,2,'admin user','admin@example.com',TRUE, '78989asdef7898abde4252aedcb4352','Super Administrator','admin')
将长加密密码字段(“789 ...”)替换为:21232f297a57a5a743894a0e4a801fc3
保存并重新启动 Subversion Edge 服务。
用户名:admin 密码:admin
应该在那之后工作。
2017 年,哈希字符串为
INSERT INTO USER VALUES(1,2,'$2a$13$7SoSK1AUMK.Nf9NVlfSyr.OfRrYP8lyH/rOBThvBm68r5wO/A/d22',TRUE,'admin','admin@example.com','admin user','Super Administrator')
那是管理员/管理员
CollabNet Edge 使用 Apache httpd 为 Subversion 存储库提供服务。我没有安装它,所以我不能 100% 确定东西存储在哪里,但是标准的Apache Httpd 文档可以帮助你。另请参阅在线 Subversion 手册,最重要的是仔细查看第 6 章中的Apache httpd 服务器配置。这些可以帮助阐明 Apache httpd 和 Subversion 是如何一起设置和配置的。一切基本上都是 Apache httpd 和您的存储库的前端。我将从配置 Apache 部分的 Subversion 在线手册的第 6 章开始。
切入正题:看看你的系统上是否有一个名为htpasswd的命令。此命令允许您为 Apache 生成密码。您可以使用此命令将加密密码替换为您知道的不同密码。制作一个备份副本,svn_auth_file
看看是否可以htpasswd
将密码更改为您知道的密码。
记住在弄乱它之前备份每个文件,并在 Subversion 在线手册中阅读有关如何配置 Apache 的信息。查看您的 Apache httpd 配置文件并了解所有内容是如何组合在一起的。然后,尝试使用htpasswd
重置您的管理员密码。
- 如果您从 Docker 开始 - 找到您的 svn-data 文件夹。/srv/svn-data 在主机上
- 查找文件夹 Conf
- 查找 svn_auth_file
- 它看起来像 admin:pass_hash。全部更改:更改为 21232f297a57a5a743894a0e4a801fc3
- 使用管理员登录:admin