Cent OS上配置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指令:

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

         其中/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服务,可以通过浏览器检测效果。


补记:只有在Repository的顶层目录对所有用户设置了读权限(* = r)之后,才能对Repository的下面子目录限定某些用户的写权限(sally = rw)

目录
相关文章
|
2月前
|
存储 网络协议 Ubuntu
如何在Ubuntu安装配置SVN服务端并实现无公网ip访问内网资料库
如何在Ubuntu安装配置SVN服务端并实现无公网ip访问内网资料库
117 0
|
9月前
|
Linux 网络安全 开发工具
如何在 Linux CentOS 8 中搭建 GitLab 私有仓库并结合 Cpolar 内网穿透工具实现公网访问私有仓库【无公网IP内网穿透】
如何在 Linux CentOS 8 中搭建 GitLab 私有仓库并结合 Cpolar 内网穿透工具实现公网访问私有仓库【无公网IP内网穿透】
|
2月前
|
Shell Linux 应用服务中间件
centos系统内容器部署服务访问不到是因为run后面加了bash
centos系统内容器部署服务访问不到是因为run后面加了bash
|
2月前
|
存储 关系型数据库 Linux
CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件
CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件
52 4
|
2月前
|
运维 安全 Linux
如何在CentOS7一键安装宝塔面板并实现固定地址访问内网宝塔进行管理
如何在CentOS7一键安装宝塔面板并实现固定地址访问内网宝塔进行管理
|
2月前
|
安全 关系型数据库 Linux
centos7_安装mysql8(局域网访问navicat连接)
centos7_安装mysql8(局域网访问navicat连接)
67 1
|
7月前
|
Java Linux 数据安全/隐私保护
百度搜索:蓝易云【centos7系统安装elasticsearch8.7.0,并设置密码访问教程。】
现在,您已经成功安装并设置密码访问Elasticsearch 8.7.0。您可以使用设置的密码来访问和管理Elasticsearch实例。
184 1
|
2月前
|
Linux Shell 网络安全
centos7添加ip黑名单禁止某个ip访问
centos7添加ip黑名单禁止某个ip访问
90 1
|
2月前
|
运维 Apache 数据安全/隐私保护
CentOS6.5搭建SVN服务器(Apache+SVN)
CentOS6.5搭建SVN服务器(Apache+SVN)
|
2月前
|
网络协议 Linux 网络安全
Centos7 防火墙策略rich-rule 限制ip访问-----图文详解
Centos7 防火墙策略rich-rule 限制ip访问-----图文详解
358 0