天天看點

在Linux下,SVN伺服器的權限配置

言歸正傳,按照前面的教程裝完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目錄下的所有資訊)

繼續閱讀