2009-06-11 52 views
7
[groups] 
developer = a,b,c 
doc = r,x 

[/doc] 
@doc = rw 
@developer = rw 

[/] 
@developer = rw 
* = 

如果現在DOC組的成員試圖檢查出的文檔,這是行不通的。 我希望doc的成員能夠檢出sub-dir文檔,其他任何內容都是被禁止的。 任何想法如何實現這一目標?SVN AuthZ的,基於路徑的認證愁楚

親切的問候 羅尼

[更新]

客戶端:SVN,版本1.5.4(r33841) 服務器:SVN版本1.4.6(r28521)

通過訪問svn + ssh:/ user @ host/fullpath-to-repos

  • 1完美工作兩年
  • 2可能 - 請參閱上面的版本號(我將立即聯繫我們的管理員)
  • 3否?只是通過ssh
  • 4都能跟得上
  • 5沒了

使用

  • 客戶端版本SVN 1.4.6(r28521)無法正常工作或[更新] - 同樣的錯誤
  • 我使用普通命令行訪問。 SVN CO SVN + SSH:// ...

[更新]

  • 服務器:Linux的2.6.16.60-0.39.3-default9的i686的Athlon i386的GNU/Linux的 - SUSE 10 ?或類似的東西,我認爲
  • 客戶端:Kubuntu的9.04
  • 通過OpenSSH的SSH客戶端連接
  • 服務器拒絕的svn:從本地主機連接// - 任何連接---總得在家裏副本的時候很快就試試吧

[更新4] *這不是我自己的服務器,我不能做我想做的事情。這是一臺非常舊的服務器,至少運行10年,擁有數百個用戶。標準的東西應該工作。糾正我,如果我失去了一些東西。

[更新5] 相信與否。我正在使用錯誤的路徑,現在一切正常, 我很抱歉浪費你的時間。爲了他的出色,我會給予FoxyBOA賞賜。

+1

這AuthZ的文件工作得對我很好。 我複製粘貼到我的apache服務器之一,它開箱即用,所以問題出現在你的配置的另一部分。 你使用哪臺服務器?如果apache,查看錯誤日誌,確切的錯誤信息是什麼? – 2009-06-11 18:37:36

+0

我使用svn + ssh ...奇怪的事 – 2009-06-11 19:31:11

+1

你檢查了倉庫的寫權限嗎?請發佈更多詳細信息和錯誤消息 – 2009-06-12 12:26:47

回答

2

@doc成員嘗試結帳哪個網址?

[增訂]

能否請您提供一些額外的信息:SVN的服務器和客戶端雙方的版本。您的客戶端如何嘗試連接到SVN服務器(例如,使用subclipse庫,命令提示符等從Eclipse中獲得)。

  1. 如果您使用svn + ssh,您的用戶必須擁有對您服務器的有效訪問權限。你的用戶是否有正確的shell(即bash,tcsh等)?/bin/false和其他假的shell將無法使用svn + ssh連接類型。

  2. 可能出現的其他問題 - 在服務器和客戶端側(例如服務器1.4,客戶端1.5它嘗試使用1.5技術連接)的不同版本SVN。

  3. 您是否使用SVN進行SASL認證?

  4. 你使用的是tunelling

  5. 你使用ssh配置技巧described in svn docs

[UPDATED2]

  • 你是否從命令提示連接SVN或者正在使用的IDE?如果您使用的是IDE,請將其命名並提供有關哪個插件/庫/等的信息。您正在使用連接到SVN服務器。
  • [UPDATED3]

  • 你可以創建測試帳戶和臨時試圖讓訪問SVN服務器W/O SSH?只需使用普通的svn://協議。如果可行,問題在於ssh,如果失敗 - svn。
  • 哪些是你使用ssh連接,並從中操作系統您正在使用的工具嗎?
  • [UPDATE4] - 你確定你的svn服務器啓動?如果你的svn工作標準端口上,儘量直接在SVN端口從本地連接服務器:

    telnet localhost 3690 
    
    • 如果成功嘗試從一個客戶端連接(即遠程登錄ip_server 3690)。

    • 如果在遠程登錄服務器的作品,但遠程登錄從客戶失敗,請檢查你的防火牆,路由器等

    • 如果Telnet訪問服務器出現故障。嘗試重新啓動svn服務器並檢查服務器日誌。

    [UPDATE5]

    在我心中你的svn服務器停止。你能否檢查一下svn服務在本地是否可見(telnet從本地主機到3690)以及遠程。如果SVN服務工作正常在這兩種情況下,你必須得到類似

    (成功(1 2(匿名)(編輯管道)))

    0

    「我使用svn + SSH ...奇怪的事情」

    SVN + SSH使用SSH連接,然後運行在通道模式下的svnserve

    當在隧道運行, 授權主要是控制通過對 存儲庫的數據庫文件的操作系統權限執行;它非常類似於 ,就好像Harry是 通過 file:// URL直接訪問存儲庫。

    svnserve documentation

    換句話說,它忽略你已經設置的配置。

    3

    真正的方式做,這是在這裏:

    [groups] 
    developer = a,b,c 
    doc = r,x 
    
    [doc:/] 
    * = 
    @doc = rw 
    @developer = rw 
    
    [otherPath:/] 
    * = 
    @developer = rw 
    @doc = r 
    
    [/] 
    * = rw