Svn

您可以在 Subversion 的基於路徑的授權中使用萬用字元嗎?

  • June 28, 2020

Subversion 資訊:Collabnet Subversion Edge 3.2.2 SVN 版本:1.8.0 Apache HTTP Server 2.4.4 使用 mod_authz_svn,沒有 ldap

我想要做的是將 Subversion 項目的訪問權限分配給團隊中的所有開發人員,但有某些目錄,只有某些開發人員應該有權訪問。而不是像這樣創建幾十個條目:

@superdevs = trusteddev, projman
@devs = @specdevs, user1, user2, user3

[/]
* = rw

[MyProj:/]
~@devs = 

[MyProj:/trunk/AllDevs/SuperDevsOnly]
~@superdevs = 

[MyProj:/trunk/ManyOtherDirs/SuperDevsOnly]
~@superdevs =

# the list goes on and on...

是否可以配置基於路徑的授權文件來定義文件模式,而不是為每個受限路徑顯式創建一個條目?我希望避免向授權文件添加 200 多個條目,因為我知道更多條目會影響伺服器上託管的所有 SVN 操作的性能。這似乎也需要大量工作來保護建構我們最終解決方案所必需的敏感程式碼。

TL;博士; 您可以在設置 Subversion 的基於路徑的授權文件時定義通用文件模式,而不是為您需要限制的每個顯式文件或目錄定義規則嗎?

還有一件事

我熟悉外部,但我們無法讓它們與我們的持續集成系統一起工作,並且目前不想“浪費時間”更新或替換它的權力。

萬用字元問題已經用 svn 討論了很長時間,並且有一個開放的錯誤報告:

http://subversion.tigris.org/issues/show_bug.cgi?id=2662

最後一條評論(從 2013 年 6 月開始)包括以下聲明:

我們得出的結論是,無論如何,此功能都值得實施。我們可以提醒使用者,該功能在某些情況下會降低伺服器性能,甚至可以用於拒絕服務攻擊(正如上面對此問題的評論中已經提到的)。

預送出鉤子 svnperms.py 對萬用字元的支持有限,僅用於寫入,不適用於讀取: https ://stackoverflow.com/questions/916758/set-up-svnperms-pre-commit-hook

引用自:https://serverfault.com/questions/526016