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)

目录
相关文章
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
899 1
|
Linux PHP Apache
CentOS 7.2配置Apache服务httpd(下)
CentOS 7.2配置Apache服务httpd(下)
268 1
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
Linux 数据安全/隐私保护 Windows
centos 7.2 搭建svn服务器
centos 7.2 搭建svn服务器
579 0
|
安全 Java 应用服务中间件
在CentOS 7上安装Apache Tomcat 8的方法
在CentOS 7上安装Apache Tomcat 8的方法
677 0
|
安全 Java 应用服务中间件
如何通过 Yum 在 CentOS 7 上安装 Apache Tomcat 7
如何通过 Yum 在 CentOS 7 上安装 Apache Tomcat 7
484 0
|
7月前
|
Ubuntu Unix Linux
操作系统的最强入门科普(Unix/Linux篇)
下期文章,小枣君会重点聊聊Windows和macOS那条线。敬请关注! 如果大家觉得文章不错,还请帮忙多多转发!谢谢!
|
7月前
|
Web App开发 缓存 Rust
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
969 0
Vanilla OS:下一代安全 Linux 发行版
|
运维 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot 是阿里云推出的一款操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行和系统运维调优等功能。通过简单的命令行操作,用户可以快速获取所需信息并执行任务,极大提升了Linux系统的使用效率。安装步骤简单,只需在阿里云服务器上运行几条命令即可完成部署。使用过程中,OS Copilot不仅能帮助查找命令,还能处理文件和复杂场景,显著节省了查找资料的时间。体验中发现,部分输出格式和偶尔出现的英文提示有待优化,但整体非常实用,特别适合Linux初学者。
562 10