言歸正傳,按照前面的教程裝完1.5.5版以後,當svnadmin create /home/svn/yourproject建立倉庫後,應該在倉庫目錄下的config目錄有3個檔案——authz、passwd、svnserve.conf。
下面對3個檔案進行說明:
svnserve.conf是基礎的配置,用于控制通路的權限将[general]前的注釋與空格去掉,一定要去掉空格,否則到時用戶端登入會出現"Section header must start in the first column的”的告警!親身體會啊!!最後此檔案内容至少包含以下内容:
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
其中,anon-access = none禁止匿名登入,auth-access = write為署名登入獲得寫權限,password-db = passwd指定使用者配置檔案,authz-db = authz指定權限配置檔案
————————————————
passwd是使用者配置檔案,用于設定使用者名以及密碼
格式為:
[users]
<使用者1> = <密碼1>
<使用者2> = <密碼2>
其中使用者名,密碼不能為中文,至少我設中文登入時提示沒有該使用者
[users]是必須的。下面列出要通路svn的使用者,每個使用者一行。
示例:
[users]
alan = password
king = hello
這個裡面的user表示目前test版本庫的成員
——————————————————
authz是詳細的使用者授權檔案
格式如下(以下内容轉載,感謝原創):
————————————
以下是自己的體會:
注意:@admin代表整個組,king 在這裡隻是一個使用者
關于通路路徑[/目錄],其完整格式[repos-name:path]或者[path],repos-name是版本庫的名字
注意:在authz中如果要設定中文檔案夾的路徑,例如[/測試],請在linux在輕按兩下檔案用預設記事本打開,然後另存為,注意将編碼格式改為UNICODE UTF-8,否則在windows下用TortoiseSVN進行操作時,該中文路徑的權限設定會有問題!此乃我的實際測試
當你用的中文svn用戶端,并且又出現[璁よ瘉澶辮觸]的錯誤不能夠簽入和簽出,那麼請檢查authz的[path]權限等是否正确
使用者組格式:
[groups] <使用者組名> = <使用者1>,<使用者2> |
其中,1個使用者組可以包含1個或多個使用者,使用者間以逗号分隔。使用者必須要在passwd檔案裡能找到,它是給那個裡面的user賦權限.
版本庫目錄格式:
[/目錄] @<使用者組名> = <權限> <使用者名> = <權限> |
示例:
[groups]
admin = alan
[/]
@admin = rw
[/svn/p1/WebProject]
king = rw(表示king能夠讀寫/svn/p1/WebProject目錄下的所有資訊)
[/svn/p1/web]
zp=r(表示zp能夠讀/svn/p1/web目錄下的所有資訊)