在svn的目录访问权限上纠结了很久,也看过了很多博客文章。好像弄明白了一点点:
在配置dav_svn.conf时,
<Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath /svn
#SVNpath /svn/repos
AuthType basic
AuthName "Subveriosn Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
Require valid-user
</Location>
SVNParentpath和SVNPath在<Location>...</Location>里不能同时存在。
假设仓库目录结构如下:
/svn/repos/
|----aa
|----|----bb
|----|----cc
其中SVNPath /svn/repos/ , SVNParentPath /svn .
那么就有两种情况:
(一)使用SVNParentPath
在authz文件里这样设置目录访问权限:
[repos:/aa/bb]
@admin = rw
* =
[repos:/aa/cc]
@boys = rw
@girls = rw
* =
(二)使用SVNPath
在authz文件里这样设置目录访问权限:
[/aa/bb]
@admin = rw
* = r
[/aa/cc]
@boys = rw
@girls = rw
* =