为SVN-Apache设置只读用户

我已经按照设置基于Apache的SVN配置的正确方法,遵循了“Subversion版本控制”一书中的说明.到目前为止,我的“/etc/httpd/conf.d”目录中有一个“subversion.conf”文件.在该文件中,我定义了一个名为“/ svn”的位置,并将其映射到我的subversion存储库“/ x1 / svn /(repo1),(repo2),(etc)”的位置.也就是说 – 我还创建了一个拥有存储库区域的用户“svn”,并为Apache添加了组权限,因此可以从Apache访问存储库,而无需设置Apache拥有的所有内容(我认为这是一种奇怪的方法)事情).

无论如何.这是我遇到问题的问题.我想设置一个“a”用户,如果我想让他们下载特定存储库代码库的源代码副本,我可以将其发给人们.这里有一些复杂程度.

> A)允许他们为一般用户授予对所有存储库的只读访问权限
> B)为特定存储库提供特定的“只读”用户

无论哪种方式,我想更容易解释如何完成选项(A),如果我目前为我的网络服务器设置了配置,我该怎么办呢?以下是我的“subversion.conf”文件的副本,该文件工作正常,但要求访问所需存储库的任何用户都具有完全访问权限:

<Location /svn>
   DAV svn
   SVNParentPath /x1/svn

   # Require SSL connection for password protection.
   # In order to do this Apache needs to use a self-signed certificate
   # Talk to Cordel and/or consult Apache Docs and OpenSSL docs
   # SSLRequireSSL

   AuthType Basic
   AuthName "Subversion Repository"
   AuthUserFile /etc/svn-auth-file
   Require valid-user
   </Location>

那么 – 如何为SVNParentPath(选项A)中的所有存储库添加一个只读的通用用户?为了获得额外的功劳 – 我如何为各个存储库创建唯一的只读用户(选项B).所有这些同时保留了必须在所有存储库上进行完全读写访问的身份验证的用户.

我试图自己完成这个,但是,当试图消化“限制”方法的含义时,由于缺乏对哪些方法可用的直接解释以及每种方法实际做了什么,我感到困惑.到SVN / Apache配置.我的意思是常识告诉我GET是GET(只读)而POST是写操作,但这只是常识.我编程的时间太长,以至于假设某些A-Hole没有创建GET操作并且能够写入数据.这是我的困境.任何人都能解释一下吗?

谢谢!

查看 Path Based Authorization文件,您可以使用以下命令定义只读用户:

[/]
username = r

或者您可以为不同的存储库定义用户

[repo1:/]
username = r

[repo2:/]
username = r

要实现上述目标,您需要在Apache配置中添加以下内容:

LoadModule authz_svn_module path/to/mod_authz_svn.so
...
AuthzSVNAccessFile /path/to/access/svnaccess
相关文章
相关标签/搜索