一、 安装svn并创建用户做准备工作:
假设您已经按照UBUNTU上SVN的安装与利用APACHE2的ssl访问(SVN系列配置一)配置好了svn访问。
利用上文中的方法创建两个用户:manager和developer1
为project1创建目录结构如下:
project1
--trunk
--branches
--tags
二、配置用户访问svn目录权限
1、修改权限文件
在project1/conf目录下有authz文件
#vim authz
在文件中加入:
[groups]
g_manager = manager
g_developer = developer1
[project1:/]
* = rw
[project1:/trunk]
@g_manager = r
@g_developer = rw
[project1:/tags]
manager = r
developer1 = r
说明:
第一段分组将manager分为g¬_manager组 developer1分为g_developer组
第二段对库project1根目录做访问限制,所有用户都有读写权限
第三段对库project1下的trunk目录设置组权限,组都需要以@开头
第四段对库project1下的tags目录设置用户权限
其中branches目录没有设置权限,那默认权限与根目录权限相同。
2、修改让apache2支持权限文件
#vim /etc/apache2/mods-available/dav_svn.conf
<Location /svn>
DAV svn
SVNPath /home/svnroot
AuthType Basic
AuthName "project1 subversion repository"
AuthUserFile /home/svnroot/passwd
AuthzSVNAccessFile /home/svnroot/leefn.com/conf/authz
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
加入一行:AuthzSVNAccessFile /home/svnroot/project1/conf/authz
这样就启用了svn的目录控制了。
重启apache2,目录权限就生效了。