svn在Linux環境下倉庫的建立與許可權訪問

2021-07-06 02:58:23 字數 2460 閱讀 6616

語法:svnadmin create /directory

我是在home/svnrepo下新建myproject倉庫

cd /home

mkdir svnrepo

svnadmin create /home/svnrepo/myproject

倉庫建立成功以後,會出現乙個倉庫名字的資料夾 資料夾下面有以下幾個檔案和目錄

conf  db  format  hooks  locks  readme.txt

其中conf資料夾下面包含三個重要檔案 authz passwd svnserve.conf 

首先進入 conf檔案下,

cd conf/

vi passwd

passwd的配置非常簡單 語法格式: 使用者名稱=密碼

在開啟的檔案下新增使用者如下圖所示

svn服務配置檔案為版本庫目錄中的檔案conf/svnserve.conf。該檔案僅由乙個[general]配置段組成。參考

[general]配置段中配置行格式如下:

《配置項》 = 《值》

配置項分為以下5項:

anon-access 控制非鑑權使用者訪問版本庫的許可權。取值範圍為"write"、"read"和"none"。

即"write"為可讀可寫,"read"為唯讀,"none"表示無訪問許可權。

預設值:read

auth-access 控制鑑權使用者訪問版本庫的許可權。取值範圍為"write"、"read"和"none"。

即"write"為可讀可寫,"read"為唯讀,"none"表示無訪問許可權。

預設值:write

password-db 指定使用者名稱口令檔名。除非指定絕對路徑,否則檔案位置為相對conf

目錄的相對路徑。

預設值:passwd

authz-db 指定許可權配置檔名,通過該檔案可以實現以路徑為基礎的訪問控制。

除非指定絕對路徑,否則檔案位置為相對conf目錄的相對路徑。

預設值:authz

realm 指定版本庫的認證域,即在登入時提示的認證網域名稱稱。若兩個版本庫的

認證域相同,建議使用相同的使用者名稱口令資料檔案。

預設值:乙個uuid(universal unique identifier,全域性唯一標示)

vi svnserve.conf
修改配置如下圖紅色標註

參考:注意:

* 許可權配置檔案中出現的使用者名稱必須已在使用者配置檔案中定義。

* 對許可權配置檔案的修改立即生效,不必重啟svn。

使用者組格式:

[groups]

《使用者組名》 = 《使用者1>,《使用者2>

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

版本庫目錄格式:

[《版本庫》:/專案/目錄]

@《使用者組名》 = 《許可權》

《使用者名稱》 = 《許可權》

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

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

repos1:/,表示對版本庫1設定許可權

repos2:/occi, ,表示對版本庫2中的occi專案設定許可權

repos2:/occi/aaa, ,表示對版本庫2中的occi專案的aaa目錄設定許可權

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

vi authz
修改配置如下圖紅色標註

語法:svnserve -d -r svn倉庫目錄

svnserve -d -r /home/svnrepo/myproject/
檢視svn程序

ps -ef|grep svn
使用svn客戶端  輸入位址  svn://ip/ 就可以訪問成功,這裡順便介紹一下 因為在啟動svn服務時指定的根目錄是myproject 所以直接訪問 svn://ip/就是到myproject倉庫下 繼續下去就是檢出** 新建trunk tag branch 等檔案目錄 提交到版本庫就可以了.另外一點,svn提交之後的檔案在倉庫中是不可見的.

ps:本篇主要介紹了簡單在linux上搭建svn伺服器以及使用svn服務訪問,後面還將會介紹使用http服務來訪問svn以及如何搭建多版本倉庫.

linux下svn環境布置

經過幾個小時辛苦配置,終於把環境搭起來了。現在總結一下 首先就是svn安裝,這個簡單,不多描述 yum y install subversion 安裝完成後建立乙個專案庫 然後把專案匯入專案庫 ok。匯入之後專案庫就會有conf資料夾。接下來就開始配置 分別是 anon access none 匿名...

Linux環境下安裝SVN

最近在研究svn的 如何遷移到gitlab,因此借助本文,重新來回顧溫習下svn的安裝使用。svn的安裝很簡單,在網際網路的環境,直接執行以下命令列即可。yum install subversion 或者sudo apt install subversion 安裝完後可以通過svn version檢...

在VS環境下使用SVN

由於我和同事要合作做乙個小程式,所以需要乙個源 管理的工具。在工作的時候我們由於是vs進行.net開發所以一般是使用tfs進行專案管理。但是我們在不同的專案組,工作地點不一樣,而且現有的tfs伺服器都是在內網的,所以無法使用tfs,這種情況下只有找公網上的免費源 管理服務了!若說到在網際網路上的源 ...