2010-10-03 71 views
0
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/並查看所有的項目。

我在哪裏出錯訪問控制列表?

非常感謝您的任何建議,

回答

1

不能確定,但​​據我所知,你有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