Subversion權限設定範例說明

網友因為剛由CVS轉換到Subversion,詢問了些關於權限控管上的問題:

  1. CVSNT的使用者可以透過WinCVS去更改自已的密碼,那Subversion呢?
  2. CVSNT的使用者可以透過WinCVS去建立檔案庫,那Subversion呢?CVSNT在權限的管理上可以對檔案庫,檔案庫內的模組,賦予不同的權限,那Subversion呢?
  3. 搭配Apache在httpd.conf中的設定不是會越長越大?
  4. 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兩組設定:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
## 存取權限要寫在最後一行的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格式相同)的範例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
## 設定群組,以方便指定目錄權限
[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 進行版本控制 (繁體中文版),應該有幫助。

##

您可能也會有興趣的類似文章

填寫回應

 

 

 

您可使用這些HTML標籤

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

隨機文章

  1. iPad Dropbox能分享My Dropbox裡的所有檔案連結?! 
  2. [轉貼] 千千靜聽:自動抓歌詞+詞曲同步的KTV播放器 (2)
  3. Free Download Manager比較:FlashGet, FreshDownload, WellGet 
  4. 用Aqua Data Studio存取Trac.db以加速權限設定 
  5. 與Oracle資料庫相容的EnterpriseDB (1)
  6. Xuite樣式研讀攻略! (1)
  7. 將Trac 0.10.4中文版公佈到Google Code (6)
  8. [Blog] Maxthon的del.icio.us外掛 
  9. 於Trac使用IncludeMacro以插入共用網頁 
  10. 停止ThinkPad X61部份開機服務與處理程序 

歷史熱門文章

  1. 如何手動輸入Plurk的表情圖示? (368,392 點擊/2008-09-29)
  2. 啟用&關閉中華電信ZyXEL P874的無線網路連線功能的步驟[修訂] (120,311 點擊/2011-06-01)
  3. Plurk CSS樣式自訂修改全攻略 (89,455 點擊/2009-07-04)
  4. 簡單放大Plurk輸入區的方法[修訂] (88,892 點擊/2008-09-29)
  5. 網路升級光世代50M/3M與設定ZyXEL P874 (72,086 點擊/2011-05-28)
  6. 輕鬆學會彈指神功-揭露AutoHotkey絕技 (50,879 點擊/2008-04-10)
  7. iPad新手入門技巧 (49,394 點擊/2011-02-05)
  8. iPad鍵盤輸入全攻略 (42,863 點擊/2011-01-01)
  9. 分享世博台灣館主題曲『台灣的心跳聲』MV(附歌詞+下載連結+新歌詞) (40,905 點擊/2010-04-27)
  10. 調整Windows 7環境: 加回工作列的「顯示桌面」圖示 (40,836 點擊/2010-01-02)