Svn

SVN,簽出基於 authz 的文件夾

  • July 18, 2020

我已經在 freebsd 上設置了一個 svnserve 服務,並試圖找出控制身份驗證的最佳方法。

我有根文件夾 A 和子文件夾 A1、A2、A3

A--
  |-AdminFolder
  |-Project1
  |-Project2

有 2 個角色組:g_admin 和 g_pm。我想知道如何配置 authz 來滿足以下場景:

  1. 作為管理員,我可以簽出所有具有讀/寫權限的文件夾。
  2. 作為下午,我只能在沒有晚上看到“AdminFolder”的情況下簽出 Projectn 文件夾
  3. 我希望所有使用者都使用相同的 SVN 路徑 (SVN://host/A)

我嘗試了以下 authz 配置:

[/]
g_admin = rw
* = r

[/A/AdminFolder]
g_admin = rw
* = r

[/A/Project1]
g_admin = rw
g_pm = rw

[/A/Project2]
g_admin = rw
g_pm = rw

但隨後 g_pm 會看到 /… 下的所有內容

重新閱讀SVN Book的相關部分(版本稍微過時,但可用)並修復配置的一些(明顯)部分

因為您在要求中有“2 個角色組”,所以您可以添加(以獲得更多的未來靈活性)組部分,例如

[groups]
admins = user1, user2
pms= user3, user4

並稍後在規則中使用組的引用

具有相同權限的規則副本是沒有用的,因為 authz-rules 繼承自上述路徑。

結果,你會得到類似的東西(未經測試,只是編寫)

[groups]
admins = user1, user2
pms = user3, user4

[/]
@admins = rw
* = r

[/A/AdminFolder]
* =

[/A/Project1]
pms = rw

[/A/Project2]
pms = rw

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