如何在SVN中添加用户?

sco*_*ott 12 subversion

更新 #3:我想我找到了。
/etc/httpd/conf.d/subversion.conf

<Location /repos>
        DAV svn
        SVNPath /var/www/svn/repos
        AuthType Basic
        AuthName "Subversion repos"
        AuthUserFile /etc/svn-auth-conf
        Require valid-user
</Location>
Run Code Online (Sandbox Code Playgroud)

svn-auth-conf 的格式为

user1:$apr1$randome letters ... $random letters and numbers
Run Code Online (Sandbox Code Playgroud)

我觉得我使用了一些命令行工具来添加用户,但我不记得是什么。

更新 #2: locate http.conf 给出这些结果

/usr/share/logwatch/default.conf/logfiles/http.conf
/usr/share/logwatch/default.conf/services/http.conf
Run Code Online (Sandbox Code Playgroud)

我在其中任何一个中都没有看到与颠覆有关的任何内容。如果有帮助,我可以在这里发布文件。

原问题:

几年前,我安装并设置了 subversion。我不记得我是如何添加用户的。我现在需要添加另一个,但是当我检查passwd文件时,没有定义用户,文件中也没有设置任何内容svnserve.conf——两者都注释掉了所有内容。这是我可以找到通过谷歌添加用户的唯一方法。所以我试了一下:

密码

user1 = password1
user2 = password2
Run Code Online (Sandbox Code Playgroud)

配置文件

anon-access = none
auth-access = write
pasword-db = passwd
authz-db - authz
realm = repos
Run Code Online (Sandbox Code Playgroud)

但我仍然只能使用 访问它user1,即使我user1不是 linux 服务器上的用户。还有其他方法可以添加用户还是我的配置有问题?

更新:

我已将以下行添加到我的 svnserve.conf 文件中

authz-db = authz
Run Code Online (Sandbox Code Playgroud)

然后我的 authz 文件看起来像这样

authz [组] devs = user1,user2

[repos:/]
devs = rw
Run Code Online (Sandbox Code Playgroud)

仍然不起作用。在 passwd 中 user1 的密码与我用来登录的密码不同。所以我认为 subversion 根本没有使用它进行身份验证。特别是因为之前文件是空的,我仍然能够登录。有什么方法可以确保它使用 svnserve、passwd、authz 文件进行身份验证?某处有另一个配置文件吗?

Cal*_*leb 8

Subversion 身份验证通常有两个部分。第一个是某种密码存储库。第二个是访问控制列表。密码列表用于验证用户并检查他们的密码,但您还必须设置哪些用户可以访问哪些资源。

有多种密码存储库类型。我不熟悉passwd类型,我使用htpasswd类型,它使用与 apache 用于用户身份验证相同的用户/密码文件。我将用户添加到这个文件中htpasswd .htpasswd username。看起来您可能已针对您的密码类型正确执行了此步骤。

第二部分是ACL。Subversion 应该有一个名为access某处的文件,其中包含每个存储库的部分。您需要在要访问的存储库下添加一行,username = rw以授予该用户对该存储库的读/写访问权限。


小智 6

SVN服务器配置(主要)由三个文件组成:

  • 授权
  • 密码
  • svnserve.conf 这是主文件(authz-db = authz)

所以你只需要给我们提供两个配置文件,请检查 authz 文件是否包含:

#[the_name_of_repository:/path_in_that_repository]
[test:/]
user1 = rw
user2 = rw
Run Code Online (Sandbox Code Playgroud)

对于您要授予访问权限的项目测试