好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

CentOS上配置Apache2+SVN(续)实现对目录访问的精确控制

在上一篇文章中,完成了Apache和SVN的安装 配置 ,并且 实现 了简单的用户 控制 ,也就是所有用户都可以 访问 svn 目录 下的所有Repository。这种权限 控制 的方法比较简单,应该可以满足大部分情况下的需求。但是有些情况还是需要对某些 目录 进行比较 精确

在上一篇文章中,完成了Apache和SVN的安装 配置 ,并且 实现 了简单的用户 控制 ,也就是所有用户都可以 访问 svn 目录 下的所有Repository。这种权限 控制 的方法比较简单,应该可以满足大部分情况下的需求。但是有些情况还是需要对某些 目录 进行比较 精确 的 访问 控制 ,Apache httpd的mod_authz_svn模块可以帮助 实现 。

mod_authz_svn应该会在安装SVN是自动安装。可以打开/etc/httpd/conf.d/subversion.conf(也可能是httpd.conf)查看,里面应该可以看到:

LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so

要想 使用 这个模块,需要在subversion.conf添加AuthzSAVNAccessFile指令:

DAV svn SVNParentPath /var/www/svn AuthzSVNAccessFile /etc/svn-access-file Require valid-user AuthType Basic AuthName "Subversion repository" AuthUserFile /etc/svn-auth-file

其中/etc/svn-access-file用来指定详细的 访问 规则。加入现在svn下面两个repository:test1, test2,现在五个用户(在/etc/svn-auth-file):harry, sally, jack, david, alex。下面是 配置 文件svn-access-file的内容:

# 以#引导的是注释 # 大家对所有 目录 都有读权限(r), [/] * = r # 只有harry和sally可以写test1,中括号中的内容表示进行 访问 控制 的respository [test1:/] harry = rw sally = rw # 而jack只可以写test1中的project/test/ 目录 中的内容 [test1:/project/test/] jack = rw # jack, alex, david是一个组可以 访问 test2 [test2:/] @group1 = rw # 建立组 [groups] group1 = jack,alex,david

从上面可以看出这个 访问 控制 可以 精确 某一个 目录 。

完成 配置 后,重新启动httpd服务,可以通过浏览器检测效果。

查看更多关于CentOS上配置Apache2+SVN(续)实现对目录访问的精确控制的详细内容...

  阅读:39次

上一篇: 数据库视图

下一篇:DynamicACL的应用技巧