1. 程式人生 > >svn建立倉庫並且設定使用者的許可權

svn建立倉庫並且設定使用者的許可權

1 Linux下建立svn倉庫 

1.1 啟動SVN服務

 svnserve -d -r  /SVNRootDirectry   

其中SVNRootDirectry是你的SVN 根目錄,例如192.85.1.2上的是:/SVN。-d 表示以後太服務方式執行,-r就表示root

1.2 建立倉儲

1.2.1 在SVN根目錄下建立版本倉庫

svnadmin create study

  命令 :svnadmin create  msm

其中msm是版本倉庫的名字,倉庫建立好了以後會有出現一個倉庫名字的資料夾,資料夾下面有conf等幾個目錄和檔案,

如下圖。接下來就需要設定版本倉庫的許可權了。這裡說明一下:版本庫之間是獨立的。

檔案目錄如下:

 

其中conf資料夾下的目錄為:

 

1.2.2 增加使用者 

   修改conf資料夾下的authz檔案:

 指令簡介:此配置檔案採用“基於路徑的授權”策略,中括號裡指定路徑,以下列出對各使用者的授權。

包括只讀r,讀寫rw。沒有列出的使用者,則不允許訪問。還可以對使用者分組,具體請參考svn手冊,以下是簡單例子: 

<!--[if !supportLineBreakNewLine]-->       使用者組格式:

    [groups]

    <使用者組名> = <使用者1>,<使用者2>

 

    其中,1個使用者組可以包含1個或多個使用者,使用者間以逗號分隔。

    版本庫目錄格式:

    [<版本庫>:/專案/目錄]

    @<使用者組名> = <許可權>

    <使用者名稱> = <許可權>

    其中,方框號內部分可以有多種寫法:

     /,表示根目錄(倉儲目錄)及以下。根目錄是svnserve啟動時指定的,我們指定/opt/svndata。這樣,/就是表示對全部版本庫設定許可權。

     許可權主體可以是使用者組、使用者或*,使用者組在前面加@,*表示全部使用者。許可權可以是w、r、wr和空,空表示沒有任何許可權。

在[groups]下增加你的使用者組(記得等號前後留空格)

在[/]下面增加對使用者或者使用者組的許可權設定;最後如下圖:

 

 

1.2.3 修改使用者密碼

添加了使用者以後就需要給使用者設定密碼了,開啟conf/passwd檔案:

輸入以下內容: 

[users] 

<使用者1> = <密碼1> admin = admin

<使用者2> = <密碼2> username2 = password2

可以新增多個,此為使用者名稱密碼對。

取消[users]的註釋,並在下面加上你的使用者的密碼設定(記得等號左右的空格),如下圖:

 

1.2.4   對啟動SVN對使用者許可權、密碼的控制

需要啟動SVN對使用者許可權、密碼的控制,不然的話你就只能讀而不能寫了。

修改svnserve.conf檔案,

  各引數功能在配置檔案的註釋中有說明, 此處配置如下: 

[general] 

anon-access = none # 使非授權使用者無法訪問 

auth-access = write # 使授權使用者有寫許可權 

password-db = /opt/svndata/repos/conf/passwd  # 指明密碼檔案路徑 

 

authz-db = /opt/svndata/repos/conf/authz    # 訪問控制檔案

 

realm = /opt/svndata/repos   # 認證名稱空間,subversion會在認證提示裡顯示,

並且作為憑證快取的關鍵字。 

 

 

取消下面幾條前面的#號註釋就OK了:

anon-access = read 

auth-access = write 

password-db = passwd 

authz-db = authz 

 

重新啟動svn服務 :

啟動svn服務命令    svnserve -d -r  /svn

如果報:svnserve: Can't bind server socket: Address already in use

解決辦法:

使用  “ ps -e|grep svnserve ” 找到服務對應程序編號 ,使用kill 命令,之後再使用啟動命令 ,如圖 

 

使用地址訪問,如果出現“svnserve.conf:12: Option expected”,導致原因是:subversion讀取配置檔案

svnserve.conf時,無法識別有前置空格的配置檔案

 

修改改為 

 

1.2.5  給SVN 倉儲空間中的 DB目錄分配寫許可權 

 cd     /svn 
  sudo     chmod 777 -R 倉儲名稱  

                     不然不能提交檔案

2 SVN標準目錄結構

2.1 目錄結構概述

 

2.1.1 目錄 trunk 

 trunk是主分支,是日常開發進行的地方,一般包含 : 

 

0-Src                       原始碼

1-DevelopDoc         開發文件

2-ProductDoc           產品文件

3-ThirdPartyTools     第三方工具(外掛)

4-Testing                   測試

5-DeployDoc             部署文件

 

2.1.2 目錄branches

 ranches是分支。一些階段性的release版本,這些版本是可以繼續進行開發和維護的,則放在branches目錄中。

又比如為不同使用者客製化的版本,也可以放在分支中進行開發。

2.1.3 目錄  tags 

tags目錄一般是隻讀的,這裡儲存階段性的釋出版本,只是作為一個里程碑的版本進行存檔。

2.2 許可權分配:修改authz檔案

轉載地址:http://www.cnblogs.com/sns007/p/5769270.html