任何人都可以帮助我解决这个困惑...... 我已经使用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。 任何帮助都非常感谢。
答案 0 :(得分:2)
如果您通过SVN自己的协议访问存储库,则使用存储库目录中的authz
和passwd
文件,例如: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>