Svn
SVN,簽出基於 authz 的文件夾
我已經在 freebsd 上設置了一個 svnserve 服務,並試圖找出控制身份驗證的最佳方法。
我有根文件夾 A 和子文件夾 A1、A2、A3
A-- |-AdminFolder |-Project1 |-Project2
有 2 個角色組:g_admin 和 g_pm。我想知道如何配置 authz 來滿足以下場景:
- 作為管理員,我可以簽出所有具有讀/寫權限的文件夾。
- 作為下午,我只能在沒有晚上看到“AdminFolder”的情況下簽出 Projectn 文件夾
- 我希望所有使用者都使用相同的 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