一、 安裝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,目錄權限就生效了。