SVN权限控制涉及两个文件:dav_svn.passwd和dav_svn.authz,前者保存用户和密码,后者保存权限设置信息。
当然,这两个文件你也可以改成其它文件名,修改一下apache2的dav_svn.conf配置即可。
第一步:修改配置文件 dav_svn.conf,使能<IfModule mod_authz_svn.c>,/disk1/svn/repo/dav_svn.authz为权限设置文件:
markul@server: sudo vi /etc/apache2/mods-enabled/dav_svn.conf
markul@server: sudo cat /etc/apache2/mods-enabled/dav_svn.conf
...
# To enable authorization via mod_authz_svn (enable that module separately):
<IfModule mod_authz_svn.c>
AuthzSVNAccessFile /disk1/svn/dav_svn.authz
</IfModule>
...
markul@server: sudo service apapche2 restart
第二步:创建并编辑dav_svn.authz文件,[groups]为SVN用户组, [svntest:/]表示svntest仓库的根目录,@开头的名称表示用户组,否则表示用户名。此外,SVN对仓库的根和子目录均可设置不同权限。比如:[svntest:/src/],[svntest:/doc/]。
* = 表示其它用户无访问权限,如果将 * 号换成用户名,则禁止此用户访问。
markul@server: sudo vi /disk1/svn/dav_svn.authz
markul@server: sudo cat /disk1/svn/dav_svn.authz
[groups]
admin = markul, admin
...
[svntest:/]
@admin = rw
* =
设置完成保存后即生效,刷新SVN客户端即可体现。