Subversion限制用户访问

时间:2013-12-13 12:30:31

标签: svn authorization

任何人都可以帮助我解决这个困惑...... 我已经使用trunk,branch,tags正确设置了SVN服务器,一切正常。 我的问题是授权&访问。

我已通过命令行使用以下命令

创建了SVN用户
htpasswd -cm /etc/svn-auth-users harry

我的subversion.conf文件包含以下内容 -

<Location /svn>
DAV svn
SVNParentPath /var/www/svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /etc/svn-auth-users
Require valid-user
</Location>

很明显,用户和密码(加密)存储在/ etc / svn-auth-users

问题1.那么我的repo / conf /中的文件“authz”和“passwd”有什么用? 问题2.在我的情况下,如上所述(即使用文件/ etc / svn-auth-users),如何将用户限制在特定分支。

注意:无处不在,我发现使用“authz”文件限制了用户访问权限。

.
.
.
[my_repo:/branches/calc]
harry = rw
bobby = r
.
.
.

我甚至试过了,但没有效果。使用上面的命令行创建的任何用户都可以访问trunk。 任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:2)

如果您通过SVN自己的协议访问存储库,则使用存储库目录中的authzpasswd文件,例如:svn://server/repo

如果你正在使用apache模块,你将通过HTTP访问存储库,apache将处理身份验证。您也可以使用authz文件(语法相同),但是您需要告诉apache它在配置文件中的位置:

<Location /svn>
    DAV svn
    SVNParentPath /var/www/svn
    AuthType Basic
    AuthName "Subversion repositories"
    AuthUserFile /etc/svn-auth-users

    AuthzSVNAccessFile /etc/svn-authz

    Require valid-user
</Location>