linux下svn(subversion)服務端新增工程及配置許可權
轉載請註明源地址:http://www.cnblogs.com/funnyzpc/p/9010507.html
此篇我只是將所做過的事情記錄下來,原想搜一篇文章儲存呢,結果發現事實上並沒有一篇合適的博文供參考,遂,自給自足,以豐衣足食嘛。
首先,你需要有這些:
一臺已經安裝好了的SVN伺服器
一臺客戶的電腦
由於我是在現有的svn伺服器上安裝的,遂就略去了SVN安裝的過程,現在我整理下大致的思路:
=>svnadmin建立工程
=>配置所建立工程下的authz passwd svnserve.conf
=>殺程式,重啟SVN服務
=>測試新建立的工程(包括許可權認證,檔案提交和更新)
先,需要進入工程目錄使用,svnadmin命令建立一個工程:
建立命令: svnadmin create 工程名
工程已經建立成功了,(在這裡我插入一句:即使不熟悉請不要用複製的方式去建立svn工程,切記!) 現在進入資料夾,可以看到一些預設的檔案和資料夾:
這裡我大致解釋下這幾個資料夾的作用:
conf:放置當前工程的配置檔案,許可權訪問控制等等
db:記錄使用者提價的版本、快取、db配置等,本身也是個sqlLite資料庫
format:一個檔案,預設為空,用途暫不明
hooks:放置自動提交和更細指令碼,及相關配置
locks:顧名思義就是鎖,程式碼被鎖住了,可以在這裡進行解鎖操作
README.txt:工程的介紹文件,建議新建工程後都更新下
?,因為我的目的是在拉取程式碼時就做一次許可權認證,防止惡意使用者窺測,遂,現在我們進入conf裡面配置相關許可權,conf目錄目前有這些檔案:
命令: vi passwd ,現在可以看到svn給了我們兩個例子 harry和sally兩個使用者,現在我們需要新增我們的使用者,大致格式是 :使用者名稱 = 密碼,#是註釋,請不要以#開始命名使用者
現在完成了一大半了,目前還需要配置兩個,一個是檔案讀寫許可權和svn服務引用這兩個,現在配置使用者組及讀寫許可權:
命令: vi authz
如圖,使用者組的配置需要在[group]標籤下配置,你可以自定義一個使用者組,比如這裡的admin,使用者組的使用者均以逗號隔開,且使用者必須在剛才的passwd檔案中配置過的使用者(不可使用中文作為使用者名稱),使用者組的命名方式為: 使用者組名 = 使用者1,使用者2,使用者3 ,使用者組定義完成,現在需要對每一個使用者組賦予不同的讀寫許可權,大致格式是這樣: @使用者組名 = 讀寫許可權 ,這個讀寫許可權常用的有兩個:rw->讀寫,r->只讀。
使用者組配置完成,現在需要配置svn服務引用,命令: vi svnserve.conf
額,主要操作就是把除了上面兩個的其它配置引數全部用#注掉,對於保留的這兩個引數,我解釋下:
anon-access = none :將匿名使用者的許可權置為空
password-db = passwd :引用許可權使用者資訊為passwd檔案
好了,一切只缺重啟了,現在需要找到重啟的svn程式,請注意重啟時需要在svn工程目錄外側執行命令
命令:
查詢svn程式服務:ps -ef|grep svnserve
殺掉程式: kill -9 程式ID
啟動svn: svnserve -d -r 目錄名
可以看到,svn的啟動命令已經在查詢的程式中給出了,當然這裡如果不是在svn工程列表目錄外部操作,請一定注意啟動命令後面的目錄地址。
現在測試,由於家庭電腦沒有裝svn,公司電腦是測試成功的,這裡我簡要的給下一些基本命令供參考:
checkout工程(之後需要輸入密碼):
svn checkout svn://伺服器IP或域名/工程目錄(我這裡是document) --username 使用者名稱
新增檔案:
svn add 檔名
提交檔案(含備註):
svn commit -m "備註內容" 檔名
更新檔案(需要制定版本):
svn update -r 修正版本 檔名
本節基本完成,我該發表了,等回公司了會把測試部分更新下,嘻嘻?
現在是:2018-05-13 13:15:01 ,我的中飯時間(●・̆⍛・̆●)