Subversion權限設定範例說明
有網友因為剛由CVS轉換到Subversion,詢問了些關於權限控管上的問題:
- CVSNT的使用者可以透過WinCVS去更改自已的密碼,那Subversion呢?
- CVSNT的使用者可以透過WinCVS去建立檔案庫,那Subversion呢?CVSNT在權限的管理上可以對檔案庫,檔案庫內的模組,賦予不同的權限,那Subversion呢?
- 搭配Apache在httpd.conf中的設定不是會越長越大?
- CVSNT在多檔案庫的管理上相當直接,而Subversion在這就統一管理,也賦予專案內每一個模組同一個版號。
為了方便有相同疑問的朋友們參考,我藉由本篇文章說明我們平日使用的建置來回答部份問題。
為了能在公司網路內外都能存取到Subversion,我們建立了兩組設定,一組是內部網路使用的AD帳號(北中南都能使用),另一組是Apache Web Server的帳號,提供給大陸分公司與公司外的連線。當然這兩組URL存取到的是同一個檔案庫。
AD帳號的管理與密碼變更等都透過一般的AD功能就可處理,因此可以自行修改密碼,而帳號的格式是 Domain\使用者代碼,以 http://SVN主機/svn/路徑 的URL存取,其中/svn是你的檔案庫根目錄。
另一組使用Apache Web Server的帳號,就必須由管理員在主機上建立,再以svnpassword.exe建立加密密碼。為了和AD帳號使用的URL區別,使用的URL是 http://SVN主機/svnpub/路徑。
在Apache的設定檔httpd.conf裡必須設定/svn與/svnpub兩組設定:
## 存取權限要寫在最後一行的svnaccess.ad裡
DAV svn
SVNPath D:\svn
AuthType SSPI
AuthName "Subversion repository"
Require valid-user
SSPIAuth On #turn that authentication on
SSPIAuthoritative On #turn that authentication on
SSPIDomain
SSPIOfferBasic On #let non-IE clients authenticate
AuthzSVNAccessFile "C:\Program Files\Apache Group\Apache2\passwd\svnaccess.ad"
## Apache的帳號存於password檔案裡(AuthUserFile)
## 透過/svnpub連線的權限設定存於svnaccess.pub裡(AuthzSVNAccessFile)
DAV svn
SVNPath D:\svn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile "C:\Program Files\Apache Group\Apache2\passwd\password"
AuthzSVNAccessFile "C:\Program Files\Apache Group\Apache2\passwd\svnaccess.pub"
Require valid-user
SVNAutoversioning on
權限檔(svnaccess.ad或svnaccess.pub格式相同)的範例如下:
## 設定群組,以方便指定目錄權限
[groups]
admin = admin1, admin2
g_project1 = adam, brown, cathy, dennis
g_project2 = brown, cathy
g_project3 = emma, fanny, cathy
## 設定根目錄權限,只有admin群組有讀寫權限
[/]
* =
@admin = rw
@g_project1 = r
@g_project2 = r
@g_project3 = r
[/trunk/project1]
@g_project1 = rw
[/branches/project2]
@g_project2 = rw
以上是簡單的權限控管的範例說明,建議你閱讀相關文件以取得更完整的資訊,剛巧保哥有一篇免費電子書:使用 Subversion 進行版本控制 (繁體中文版),應該有幫助。
##
您可能也會有興趣的類似文章
- Subversion的搬移(Move)操作 (5則留言, 2009/09/05)
- Subversion的Apache設定 (0則留言, 2007/07/15)
- 搬移Subversion主機的步驟 (0則留言, 2017/12/25)
- Linus談Git與TortoiseGit (0則留言, 2008/12/19)
- Java-based Subversion client登入AD的帳號問題 (0則留言, 2007/08/24)
- 幾篇值得注意的Subversion相關文章 (0則留言, 2008/08/10)
- 「勢不可擋」的Subversion (0則留言, 2007/08/18)
- 見微知著:觀《版本控制之道-使用Subversion》有感 (1則留言, 2007/08/19)
- 升級Subversion 1.7 (0則留言, 2012/11/06)
- 由Subversion檔案庫匯出特定專案的內容 (0則留言, 2005/12/25)
- 升級Subversion client版本與VisualSVN Server (8則留言, 2008/11/22)
- [Subversion] 尋找Subversion Client工具 (0則留言, 2005/09/01)
- 取出Subversion檔案庫裡被刪除的檔案的步驟 (2則留言, 2006/08/26)
- 輕鬆轉換到Subversion的工具:svn importer (0則留言, 2007/07/21)
- 兩個Subversion的前端工具:QSvn、Subcommander (0則留言, 2006/06/23)
Sorry, 很久沒用Google sc…