在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 * =