用于授予权限的访问控制列表

时间:2010-10-03 10:27:45

标签: svn apache

CentOS 5.5
Subversion 1.4
httpd-2.2.3-43.el5.centos.3

我有以下存储库结构 我为项目类别下的每个项目创建了多个目录。 例如,我们有WEB和DEV的项目

所以所有的WEB项目都有自己的存储库,而DEV也是如此。

我的结构是:

/var/www/svn/repos/WEB/web_project1
/var/www/svn/repos/WEB/web_project2

/var/www/svn/repos/DEV/dev_project1
/var/www/svn/repos/DEV/dev_project2

* _ project *将拥有自己的存储库。即。

svnadmin create / var / www / svn / repos / WEB web_project1

我为这些类别创建了以下subversion.conf。

<Location /WEB>
   DAV svn
   SVNListParentPath on
   SVNParentPath /var/www/wsvn/repos/WEB

   # Type of authentication
   AuthType Basic
   AuthUserFile /etc/svn-auth-file

   # Access control list for control user groups read and write access
   AuthzSVNAccessFile /etc/svn-acl-file

   # Only valid authenticated user's can access
   Require valid-user
</Location>

<Location /DEV>
   DAV svn
   SVNListParentPath on
   SVNParentPath /var/www/wsvn/repos/DEV

   # Type of authentication
   AuthType Basic
   AuthUserFile /etc/svn-auth-file

   # Access control list for control user groups read and write access
   AuthzSVNAccessFile /etc/svn-acl-file

   # Only valid authenticated user's can access
   Require valid-user
</Location>

问题在于我的访问控制列表。

# Everyone has read access to the repository
[/]
* = r

[group]
WEB-developers = tom
DEV-developers = dick, harry

everyone = tom, dick, harry

[WEB:/]
@WEB-developers

[DEV:/]
@DEV-developers

当我尝试浏览网址http://x.x.x.x/DEV/

I get a 403 request denied.

但是,如果浏览此网址http://x.x.x.x/DEV/dev_project1

我被允许访问。

但是,我想授予所有DEV开发人员访问所有项目的权限。因此,他们对DEV目录和下面的所有项目都有root权限。

所以基本上,我想让dick和harry可以访问DEV下的每个项目? 因此,他们可以访问此网址http://x.x.x.x/DEV/并查看所有项目。

我的访问控制列表出错了?

非常感谢任何建议,

1 个答案:

答案 0 :(得分:1)

不太确定,但据我所知,你有2种不同的服务器:

http://x.x.x.x/DEV/

http://x.x.x.x/WEB/

他们都使用apache + svn和相同的配置。 这样,WEB或DEV就不符合您配置中的任何规则,因为它们都只在http://x.x.x.x/YYY/之后开始匹配,所以规则只适用于http://x.x.x.x/WEB/WEB这样的文件夹。

由于它们都是两个不同的服务器,我建议你有两个不同的svnauth文件,每个文件都可以给你想要的读/写文件。