授予权限的访问控制列表

问题描述:

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的创建的/ var/WWW/SVN /回购/ 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 

当我尝试浏览到URL http://x.x.x.x/DEV/

I get a 403 request denied. 

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

我允许访问。

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

所以基本上,我想让迪克和哈利有权访问DEV下的每个项目? 所以他们可以去这个网址http://x.x.x.x/DEV/并查看所有的项目。

我在哪里出错访问控制列表?

非常感谢您的任何建议,

不能确定,但​​据我所知,你有2个不同的svn切断:

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

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

两个人都使用Apache + SVN,相同的配置。 这样WEB或DEV doesn't在你的配置匹配任何规则becouse他们两个才开始匹配后http://x.x.x.x/YYY/这样的规则将只APLY如果像http://x.x.x.x/WEB/WEB一个文件夹存在。

因为它们都2台不同的服务器,我会建议你有2个不同的文件svnauth每一个授予读/写你想要谁。

+0

你好,其实他们都在同一台服务器上。即http://10.10.10.1/WEB和http://10.10.10.1/DEV/然而,这将不得不扩展到拥有测试,网络和其他一些功能。所以我试图将它保存在同一个文件中进行身份验证。因此,所有给予每个用户的用户。应该能够看到他们被授予的所有项目。我希望有助于解释。谢谢。 – ant2009 2010-10-03 15:22:21

+0

我明白你在说什么,但你现在的设置是2个有N个仓库的服务器,你应该把apache指向'/ var/www/wsvn/repos'并使用comon文件,如果你想做你说的话,目前的设置是不可能做你想做的事情。 – frisco 2010-10-03 16:41:07