linux使用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。這樣,/就是表示對全部版本庫設置權限。

     權限主體可以是用戶組、用戶或*,用戶組在前面加@*表示全部用戶。權限可以是wrwr和空,空表示沒有任何權限。

[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文件

發佈了38 篇原創文章 · 獲贊 10 · 訪問量 43萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章