Subversion:与 Apache 和 svnserve 共享用户文件

Subversion:与 Apache 和 svnserve 共享用户文件

我想为只能在网络内访问的 SVN 服务器同时支持 svn: 和 http: 协议。但是,我希望这两个协议共享相同的用户和密码。有没有办法让 Apache 和 svnserve 共享存储在服务器本地文件中的相同用户数据?

答案1

Apache 和 svnserve 有没有办法共享存储在服务器本地文件中的相同用户数据?

不是直接和自动的,不是带有用户数据库的单个文件,但可以是脚本和自动化的(但不安全,以常见的方式)

主要问题是不同的格式(和存储数据的类型)Apache 的用户文件svnserve

Apache 中的 passwd-file 使用

user:<HASH-OF-PASSWORD>

svnserve 的用户数据库

[users]
user = PASSWORD

由于哈希是不可逆函数,因此你必须

  • 在用户数据库中执行所有用户添加和用户编辑(您可以尝试在 Apache 端删除用户,但在这种情况下必须支持双向同步,因此 - 我认为,仅在用户数据库中执行用户删除也将是更好的选择)
  • 每次用户数据库更改后,处理解析同步用户数据库和密码文件:htpasswd -b在手册页中阅读有关模式的信息(... -i也可能是关于)

只是IMNSHO:只支持一个服务器会容易得多

相关内容